本节关键字:Linux、C语言、文件读写、配置文件读取、ini文件
相关C库函数:printf、fopen、fgets、strcspn、sscanf、strcmp、fclose
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void ReadProfile()
{
char sLine[512]={0};
char sSect[64]={0};
char sKey[128]={0};
char sValue[128]={0};
FILE *fp = NULL;
char sip[30][4] = {0};
fp = fopen("/home/user/test.ini", "r");
if (fp == NULL)
return false;
while (fgets(sLine, 512, fp) != NULL)
{
// 去除末尾换行符
sLine[strcspn(sLine, "\n")] = '\0';
if (sLine[0]==';' || sLine[0]=='#' || sLine[0]=='\0' || sLine[0]==' ' || sLine[0]=='\r\n')
continue;
if (sLine[0]=='[')
{
sscanf(sLine, "[%[^]]", sSect);
printf("section: %s\n", sSect);
}
else
{
sscanf(sLine, "%[^=]=%[^\r\n]", sKey, sValue);
printf("sKey: %s, sValue: %s\n", sKey, sValue);
// TODO: 保存参数
}
}
fclose(fp);
}