本文实例讲述了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]!='\0') { if(buffer[i]=='$'&&buffer[i+len+1]=='=') { j=i+len+2; while(buffer[j]!='\0'&&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=%s\n",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:\\exercise\\C++!C\\sys.ini","password",buffer); read_file("F:\\exercise\\C++!C\\sys.ini","username",buffer1); read_file("F:\\exercise\\C++!C\\sys.ini","driver",buffer2); printf("password=%s\n",buffer); printf("\n"); printf("username=%s\n",buffer1); printf("\n"); printf("driver=%s\n",buffer2); getAuthor(author); printf("\n"); printf("author=%s",author); release(); }
希望本文所述对大家的C语言程序设计有所帮助。
本文向大家介绍C#读写config配置文件的方法,包括了C#读写config配置文件的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 对config配置文件的读写类 测试代码如下: 以上这篇C#读写config配置文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
文件概述 文件是指存储在外部存储器上的数据集合。更准确的来说,文件就是一组相关元素或数据的有序集合,而且每个集合都有一个符号化的指代,称这个符号化的指代为文件名。 文件类型 根据文件在外部存储器上的组织形式,文件可以分为ASCII文件和二进制文件。 ASCII文件(文本文件):以字符的方式进行存储,一个字符对应一个ASCII码,而一个ASCII码占用1字节。例如:整数12在内存中占用4个字节;如果
本文向大家介绍Python读写配置文件的方法,包括了Python读写配置文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python读写配置文件的方法。分享给大家供大家参考。具体分析如下: python 读写配置文件在实际应用中具有十分强大的功能,在实际的操作中也有相当简捷的操作方案,以下的文章就是对python 读写配置文件的具体方案的介绍,相信对大家学习Python有所帮助。
功能划分 读配置文件 写配置文件 修改配置文件 cfg_op.h #ifndef __CFG_OP_H__ #define __CFG_OP_H__ #ifdef __cplusplus extern "C" { #endif //获取配置项 int GetCfgItem(char *pFileName /*in*/, char *pKey /*in*/, c
我正在写一个程序,通过硒网络驱动程序从一个网站获取数据。我正在努力为我们的项目创造足球装置。到目前为止,我完成了从网站上获取日期和时间、团队名称和分数。还在尝试在txt文件上写,但是在txt文件上写的时候有点乱 如何在excel文件上完成书写和阅读?我想这样写 这是我的部分代码: 写作部分:
本文向大家介绍C++读写INI配置文件的类实例,包括了C++读写INI配置文件的类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C++读写INI配置文件的类。分享给大家供大家参考。具体如下: 1. IniReader.h文件: 2. IniReader.cpp文件: 3. IniWriter.h文件: 4. IniWriter.cpp文件: 5. main.cpp文件: 希望本文所述