使用C语言开源代码库minIni读写“.ini”配置文件

minIni是一个用于读取INI文件的C语言开源代码库

然后包含该头文件使用:

代码语言:javascript复制#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);

参数解释:

section:INI文件中的节名称。key:INI文件中的键名称。def:如果INI文件中没有找到指定的键,则使用此字符串作为默认值。可以将其设置为NULL,表示没有默认值。buffer:用于存储获取到的字符串值的缓冲区。size:缓冲区的大小。filename:INI文件的路径和名称。ini_getl函数

该函数用于获取INI文件中指定的键所对应的整数值。

函数原型:long ini_getl(const char *section, const char *key, long notfound, const char *filename);

参数解释:

section:INI文件中的节名称。key:INI文件中的键名称。notfound:如果INI文件中没有找到指定的键,则使用此整数作为默认值。filename:INI文件的路径和名称。举个例子,假如ini配置文件长这样

那么可以用以下代码读取配置文件

完整代码

代码语言:javascript复制#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);

}

}

SQL server 2008R2 操作数据库表命令
触手tv如何触手币获取?触手tv触手币获取图文教程