在C++中读取并解析INI文件通常需要使用第三方库来简化操作。以下是使用inih
库来读取和解析INI文件的示例代码:
ini.h
头文件,并定义一个回调函数用来处理INI文件中的每一行数据:#include "ini.h"
int ini_handler(void* user, const char* section, const char* name, const char* value) {
// 处理INI文件中的每一行数据
// 在这里可以将section、name、value存储到合适的数据结构中
return 1;
}
ini_parse
函数来解析INI文件,并调用我们定义的回调函数来处理每一行数据:int main() {
// 读取并解析INI文件
if (ini_parse("example.ini", ini_handler, NULL) < 0) {
printf("Error: unable to parse file\n");
return 1;
}
return 0;
}
example.ini
内容如下:[section1]
key1 = value1
key2 = value2
[section2]
key3 = value3
key4 = value4
通过以上代码,可以读取example.ini
文件中的每一行数据,并调用ini_handler
函数处理每一行数据。在ini_handler
函数中,我们可以将section
、name
、value
等数据存储到合适的数据结构中,以便在程序中使用。
需要注意的是,inih
库是一个轻量级的库,支持基本的INI文件读取和解析功能,但不支持一些高级功能,如对INI文件中数据类型的转换、缺少错误处理等。如果需要更复杂的INI文件操作,可能需要使用更强大的库或自己实现解析逻辑。