手机
当前位置:查字典教程网 >编程开发 >C语言 >C语言读写配置文件的方法
C语言读写配置文件的方法
摘要:本文实例讲述了C语言读写配置文件的方法。分享给大家供大家参考。具体如下:CException.h如下:/******************...

本文实例讲述了C语言读写配置文件的方法。分享给大家供大家参考。具体如下:

CException.h如下:

/************************************************************************/ /* make0000@msn.com */ /************************************************************************/ /************************************************************************/ #include "stdio.h" #include "conio.h" #include "signal.h" #include "setjmp.h" #include "assert.h" #ifdef __cplusplus #include "iostream" #include "exception" extern "C"{ #define dllexport __declspec(dllexport) jmp_buf Jmp_Buf; int E; #define Exception 0x00000 #define e Exception #define try if(!(E=setjmp(Jmp_Buf))) #define last_error() E #define catch(val) else #define throw(val) longjmp(Jmp_Buf,val) #define check(expersion) assert(expersion) #define GetError() errno dllexport void sig_usr(int); dllexport char* getTime(); } #else #define dllexport __declspec(dllexport) jmp_buf Jmp_Buf; int E; #define Exception 0x00000 #define e Exception #define try if(!(E=setjmp(Jmp_Buf))) #define last_error() E #define catch(val) else #define throw(val) longjmp(Jmp_Buf,val) #define check(expersion) assert(expersion) #define GetError() errno dllexport void sig_usr(int); dllexport char* getTime(); #endif

File.h如下:

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> #define SIZE 128 #include "CException.h" #define export __declspec(dllexport) //读取配置文件. int read_file(char* filename,char* key,char* value); //写配置文件. int write_file(char* filename,char* key,char* value); //释放文件. int release(); //写入节. int write_section(char* filename,char* section); int read_section(char* filename); int getAuthor(char* value); void getVersion(char* value);

File.c如下:

#include "File.h" #include <string.h> int read_file(char* filename,char* key,char* value) { int flag=0; char buffer[SIZE]; FILE *file=fopen(filename,"r"); try { if(file==NULL) { flag=1; throw(flag); } else { while(fgets(buffer,SIZE,file)!=NULL) { int i=0,j=0,len=strlen(key); while(buffer[i]!='') { if(buffer[i]=='$'&&buffer[i+len+1]=='=') { j=i+len+2; while(buffer[j]!=''&&buffer[j]!=';') { int h=0; if(buffer[i+1]==key[i]) { //printf("%c",buffer[j]); value[j-i-len-2]=buffer[j]; } j++; } break; } else if(buffer[i]=='/'&&buffer[i+1]=='/'||buffer[i]==';') { break; //comment } i++; } } } } catch(Exception) { flag=2; fclose(file); printf("can't open file %s",filename); exit(1); } fflush(file); fclose(file); return flag; } int write_file(char* filename,char* key,char* value) { int flag=0; FILE* file; file=fopen(filename,"a"); try { if(file==NULL) { flag=1; throw(flag); } fprintf(file,"$%s=%sn",key,value); } catch(Exception) { printf("Can't write file %s",filename); exit(1); } fflush(file); fclose(file); return flag; } int write_section(char* filename,char* section) { int flag=0; FILE* file=NULL; try { file=fopen(filename,"a"); if(file!=NULL) { fprintf(file,"[%s]n",section); } else { int flag=1; throw(flag); } } catch(Exception) { printf("can't open file %s",filename); exit(0); } fflush(file); fclose(file); return flag; } int release() { int flag=1; return flag; } int read_section(char* filename) { return 0; } int getAuthor(char* value) { char author[128]="武汉软件工程职业学院计算机应用系"; int i=0; for(i=0;i<strlen(author);i++) { value[i]=author[i]; } return 0; } void getVersion(char* value) { char version[128]="2009//05//01"; int i=0; for(i=0;i<strlen(version);i++) { value[i]=version[i]; } } /************************************************************************** void main() { char* str=NULL; char author[120]; char buffer[128]; char buffer1[128]; char buffer2[128]; read_file("F:exerciseC++!Csys.ini","password",buffer); read_file("F:exerciseC++!Csys.ini","username",buffer1); read_file("F:exerciseC++!Csys.ini","driver",buffer2); printf("password=%sn",buffer); printf("n"); printf("username=%sn",buffer1); printf("n"); printf("driver=%sn",buffer2); getAuthor(author); printf("n"); printf("author=%s",author); release(); }

希望本文所述对大家的C语言程序设计有所帮助。

【C语言读写配置文件的方法】相关文章:

C语言实现修改文本文件中特定行的实现代码

对C语言中递归算法的深入解析

用C实现添加和读取配置文件函数

使用Inotify 监控目录与文件的方法详解

解决不用sizeof求出int大小的方法

c语言全盘搜索指定文件的实例代码

C语言解线性方程的四种方法

c/c++输出重定向的方法

基于C语言指令的深入分析

浅析C语言中sscanf 的用法

精品推荐
分类导航