国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言怎么讀寫配置文件

2020-02-24 14:11:11
字體:
來源:轉載
供稿:網友

今天武林小編將為大家介紹C語言怎么讀寫配置文件的內容,相信很多小伙伴們對于這個問題都是非常好奇的,那么我們現在就去看看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語言讀寫ini配置文件所涉及的文件讀寫技巧等。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 法库县| 凤凰县| 宁河县| 秦安县| 湖州市| 临高县| 江陵县| 郯城县| 亚东县| 大新县| 娄底市| 化隆| 邹城市| 宁国市| 隆化县| 金山区| 灵川县| 岳阳市| 平顺县| 响水县| 利津县| 临武县| 灵山县| 宁阳县| 本溪市| 乐至县| 观塘区| 桐柏县| 思茅市| 阳山县| 公安县| 卓尼县| 沐川县| 喜德县| 夏津县| 祁东县| 来宾市| 潼南县| 星子县| 无极县| 海口市|