C语言:使用配置文件

来源:互联网 发布:吊装计算软件 编辑:程序博客网 时间:2024/06/01 08:13
#include <stdio.h>#include <string.h>#define APP_MODE_CHAR 1#define APP_MODE_INT 2#define APP_TURE 0#define APP_FALSE 1 static char g_filename[20]="config.txt";//文件名int APP_GetInfo(int mode, char *name,char *infochar, int *infoint){FILE *fd = NULL;char buffer[100];//每行最多100字节int num = 1;//打开文件fd = fopen(g_filename, "r");if ( NULL == fd){printf("fopen error!\n");return APP_FALSE;}//读取文件信息while (1){if(fgets( buffer, 100, fd)== NULL){break;}num = strlen(buffer);if ( buffer[0] != '#' && num > 2){if(strncmp(buffer,name,strlen(name)) == 0){switch(mode){case APP_MODE_CHAR : sscanf(buffer,"%*[^=]=%s",infochar); printf("%s : %s\n",name,infochar); break;case APP_MODE_INT : sscanf(buffer,"%*[^=]= %d",infoint); printf("%s : %d\n",name,*infoint); break;}}}}if ( num <= 0 ){return APP_FALSE;}return APP_TURE;}int main(int argc, char *argv){int ret;char A;int B;int temp;char temp1[3];ret = APP_GetInfo(APP_MODE_CHAR,"MY_NAME",temp1,&B);if ( APP_TURE != ret){printf("cannot find name \n");return 1;}ret = APP_GetInfo(APP_MODE_INT,"MY_AGE",&A,&temp);if ( APP_TURE != ret){printf("cannot find age \n");return 1;}return 0;}

文件config.txt:

#年龄
MY_AGE=23

#姓名
MY_NAME=张三


 

0 0
原创粉丝点击