Linux C ini文件工具类

代码:initool.c

#include "initool.h"

static FILE *file;
int openini(){
file = fopen(inipath,"r");
if(NULL == file){
fprintf(stderr,"%s\n","can not open the ini file!");
return 0;
}
return 1;
}
char* readini(const char* key,char* value){
char* v = value;
char* k = malloc(strlen(key));
char ch;
int isK = 1;
int i = 0,j = 0;
while((ch = fgetc(file))!=EOF){
if(ch == '\n'){ 
if(strcmp(k,key) == 0) break;
i = 0;
j = 0;
memset(v,0,strlen(v));
memset(k,0,strlen(k));
isK = 1;
continue;
}
if(ch == '='){
 isK = 0;
continue;
}
if(isK){
 *(k+i++) = ch;
}else{
 *(v+j++) = ch;
}
}
free(k);
rewind(file);
return v;
}
int closeini(){
int res = fclose(file);
return res;

}

代码 initool.h

#ifndef _INITOOL_H_
#define _INITOOL_H_
#include
#include
#include
#define inipath "ssh.ini"
int openini();
char* readini(const char *key,char *value);
int iniclose();
#endif

你可能感兴趣的:(Linux,C/C++)