代码: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 <stdio.h>
#include <string.h>
#include <malloc.h>
#define inipath "ssh.ini"
int openini();
char* readini(const char *key,char *value);
int iniclose();
#endif