📄 ini.h
字号:
# if !defined( __INI_H )
# define __INI_H
# if !defined( __STDIO_H )
# include <stdio.h>
# endif
# if !defined( __STRING_H )
# include <string.h>
# endif
char ini_filename[50];
void SetIniFileName(char *fn)
{
strcpy(ini_filename,fn);
}
int ReadString(FILE *fp,char *f)
{
int i=0;
char ch=0;
for(i=0;i<100;i++)
*(f+i)='\0';
i=0;
ch=fgetc(fp);
while(ch!=10)
{
if(ch!=10&&ch!=13)
*(f+i)=ch;
if(feof(fp))return 0;
ch=fgetc(fp);
i++;
}
return 1;
}
int Search(char *s,int n,char c)
{int i=0,j=0;
while(*(s+i)!='\0')
{if(*(s+i)==c)j++;
if(j==n)return i;
i++;
}
return -1;
}
char *ReadINI(char *name)
{
FILE *INI;
char buffer[100],tail[100]={'\0'},head[100]={'\0'};
int i,j;
INI=fopen(ini_filename,"rb");
if(INI==NULL)
{printf("Can not open file %s!\n",ini_filename);exit(1);}
rewind(INI);
while(ReadString(INI,buffer))
{
if(buffer[0]!=';')
{
j=Search(buffer,1,'=');
if(j>=0)
{
for(i=0;i<j;i++)
head[i]=buffer[i];
head[j]='\0';
for(i=j+1;i<strlen(buffer)+1;i++)
tail[i-j-1]=buffer[i];
}
if(strcmp(name,head)==0)
{fclose(INI);return tail;}
}
}/*while*/
fclose(INI);
return NULL;
}
char ReadINI_char(char *name)
{
char *p;
p=ReadINI(name);
return p[0];
}
int ReadINI_int(char *name)
{
return atoi(ReadINI(name));
}
char *ReadINI_string(char *name)
{
return ReadINI(name);
}
long ReadINI_long(char *name)
{
return atol(ReadINI(name));
}
double ReadINI_double(char *name)
{
return atof(ReadINI(name));
}
# endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -