CFG、INI配置文件读写C程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CFG、INI配置文件读写C程序

/******************************************************************** * 文件名称: INIFileOP.C

* 文件标识:

* 其它说明: INI文件的操作

* 当前版本: V1.0

* 完成日期:

********************************************************************* */

#include

#include

#include

/*#undef VOS_WINNT*/

#define VOS_WINNT

#ifdef VOS_WINNT

#define INIFileTstmain main

#endif

#define SuccessRet 1;

#define FailedRet 0;

#define

MAX_CFG_BUF

512

#define

CFG_OK

#define CFG_SECTION_NOT_FOUND-1

#define CFG_KEY_NOT_FOUND -2

#define CFG_ERR -10

#define CFG_ERR_FILE -10

#define CFG_ERR_OPEN_FILE -10

#define CFG_ERR_CREATE_FILE -11

#define CFG_ERR_READ_FILE -12

#define CFG_ERR_WRITE_FILE -13

#define CFG_ERR_FILE_FORMAT -14

#define CFG_ERR_SYSTEM -20

#define CFG_ERR_SYSTEM_CALL -20

#define CFG_ERR_INTERNAL -21

#define CFG_ERR_EXCEED_BUF_SIZE -22

#define COPYF_OK 0

#define COPYF_ERR_OPEN_FILE -10

#define COPYF_ERR_CREATE_FILE -11

#define COPYF_ERR_READ_FILE -12

#define COPYF_ERR_WRITE_FILE -13

#define TXTF_OK 0

#define TXTF_ERR_OPEN_FILE -1

#define TXTF_ERR_READ_FILE -2

#define TXTF_ERR_WRITE_FILE -3

#define TXTF_ERR_DELETE_FILE -4

#define TXTF_ERR_NOT_FOUND -5

char CFG_ssl = '[', CFG_ssr = ']';

/* 项标志符Section Symbol --可根据特殊需要进行定义更改,如 { }等*/ char CFG_nis = ':'; /*name 与 index 之间的分隔符 */

char CFG_nts = '#'; /*注释符*/

int CFG_section_line_no, CFG_key_line_no, CFG_key_lines;

static char * strtrimr(char * buf);

static char * strtriml(char * buf);

static int FileGetLine(FILE *fp, char *buffer, intmaxlen);

static int SplitKeyValue(char *buf, char **key, char **val);

extern int FileCopy(void *source_file, void *dest_file);

extern int SplitSectionToNameIndex(char *section, char **name, char **index);

extern int JoinNameIndexToSection(char **section, char *name, char *index);

extern int ConfigGetKey(void *CFG_file, void *section, void *key, void *buf);

extern int ConfigSetKey(void *CFG_file, void *section, void *key, void *buf);

extern int ConfigGetSections(void *CFG_file, char *sections[]); extern int ConfigGetKeys(void *CFG_file, void *section, char *keys[]);

extern void INIFileTstmain(void);

/******************************************************************** **

* 函数名称: strtrimr

* 功能描述:去除字符串右边的空字符

* 访问的表:无

* 修改的表:无

* 输入参数: char * buf 字符串指针

* 输出参数:无

* 返回值:字符串指针

* 其它说明:无

********************************************************************/ char * strtrimr(char * buf)

{

intlen,i;

char * tmp = NULL;

len = strlen(buf);

tmp = (char*)malloc(len);

memset(tmp,0x00,len);

for(i = 0;i

{

if (buf[i] !=' ')

break;

}

if (i

strncpy(tmp,(buf+i),(len-i));

}

strncpy(buf,tmp,len);

free(tmp);

return buf;

}

/******************************************************************** **

* 函数名称: strtriml

相关文档
最新文档