minIni是一个用于读取INI文件的C语言开源代码库
首先到GitHub官网minIni/dev at master · compuphase/minIni · GitHub上把这三个文件下载下来放到项目目录下
然后包含该头文件使用:
#include "minIni.h"
如果是windows的cmake需要加上这个
如果是Linux的cc编译需要加上这个
读字符串用ini_gets,读数用ini_getl
ini_gets函数
该函数用于获取INI文件中指定的键所对应的字符串值。
函数原型:int ini_gets(const char *section, const char *key, const char *def, char *buffer, int size, const char *filename);
参数解释:
ini_getl函数
该函数用于获取INI文件中指定的键所对应的整数值。
函数原型:long ini_getl(const char *section, const char *key, long notfound, const char *filename);
参数解释:
举个例子,假如ini配置文件长这样
那么可以用以下代码读取配置文件
完整代码?
#define BuffSize 64
int MAX_LOG_PERUSER;
int MAX_ONLINE_USERS;
char REG_FIFO[BuffSize];
char LOGIN_FIFO[BuffSize];
char MSG_FIFO[BuffSize];
char LOGOUT_FIFO[BuffSize];
char LOGFILES[BuffSize];
void init() {
char *config = "server_config.ini";
if (ini_gets("FIFO", "REG_FIFO", "", REG_FIFO, BuffSize, config) == 0 ||
ini_gets("FIFO", "LOGIN_FIFO", "", LOGIN_FIFO, BuffSize, config) == 0 ||
ini_gets("FIFO", "MSG_FIFO", "", MSG_FIFO, BuffSize, config) == 0 ||
ini_gets("FIFO", "LOGOUT_FIFO", "", LOGOUT_FIFO, BuffSize, config) == 0 ||
(MAX_ONLINE_USERS = ini_getl("SERVER", "MAX_ONLINE_USERS", 0, config)) == 0 ||
(MAX_LOG_PERUSER = ini_getl("SERVER", "MAX_LOG_PERUSER", 0, config)) == 0 ||
ini_gets("SERVER", "LOGFILES", "", LOGFILES, BuffSize, config) == 0) {
fprintf(stderr, "Error: failed to read configuration file %s\n", config);
exit(1);
}
}