欢迎来到天天文库
浏览记录
ID:9406794
大小:18.92 KB
页数:9页
时间:2018-04-30
《c语言读写配置文件(多示例)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言读写配置文件11、CException.h1File.h2File.c3C语言读取配置文件版本27C语言读写配置文件1、CException.h/************************************************************************//*make0000@msn.com*//************************************************************************//*********
2、***************************************************************/#include"stdio.h"#include"conio.h"#include"signal.h"#include"setjmp.h"#include"assert.h"#ifdef__cplusplus#include"iostream"#include"exception"extern"C"{#definedllexport__declspec(dllexport)
3、jmp_bufJmp_Buf;intE;#defineException0x00000#defineeException#definetryif(!(E=setjmp(Jmp_Buf)))#definelast_error()E#definecatch(val)else#definethrow(val)longjmp(Jmp_Buf,val)#definecheck(expersion)assert(expersion)#defineGetError()errnodllexportvoidsig_us
4、r(int);dllexportchar*getTime();}#else#definedllexport__declspec(dllexport)jmp_bufJmp_Buf;intE;#defineException0x00000#defineeException#definetryif(!(E=setjmp(Jmp_Buf)))#definelast_error()E#definecatch(val)else#definethrow(val)longjmp(Jmp_Buf,val)#define
5、check(expersion)assert(expersion)#defineGetError()errnodllexportvoidsig_usr(int);dllexportchar*getTime();#endifFile.h#include#include#include#include#defineSIZE128#include"CException.h"#defineexport__declspec(dlle
6、xport)//读取配置文件.intread_file(char*filename,char*key,char*value);//写配置文件.intwrite_file(char*filename,char*key,char*value);//释放文件.intrelease();//写入节.intwrite_section(char*filename,char*section);intread_section(char*filename);intgetAuthor(char*value);voidge
7、tVersion(char*value);File.c#include"File.h"#includeintread_file(char*filename,char*key,char*value){intflag=0;charbuffer[SIZE];FILE*file=fopen(filename,"r");try{if(file==NULL){flag=1;throw(flag);}else{while(fgets(buffer,SIZE,file)!=NULL){inti=0
8、,j=0,len=strlen(key);while(buffer[i]!=' '){if(buffer[i]=='$'&&buffer[i+len+1]=='='){j=i+len+2;while(buffer[j]!=' '&&buffer[j]!=';'){inth=0;if(buffer[i+1]==key[i]){//printf("%c",buffer[j]);value[j-i-len-2]=buffer[j];}j++;}break;
此文档下载收益归作者所有