simpleIni库简介:
?一个跨平台库,它提供了一个简单的 API 来读取和写入 INI 样式的配置文件。 它支持 ASCII、MBCS 和 Unicode 中的数据文件。它被明确设计为可移植到任何平台, 并已在Windows,WinCE和Linux上进行了测试。使用MIT许可证以开源和免费的方式发布。
功能:
1】加载和保存 INI 样式的配置文件
2】自由接受文件格式
3】支持char或wchar_t变成接口
4】通过用户编写的转换器类支持非标准字符类型或文件编码
5】支持以编程方式添加/修改值
6】简单编译,没有告警
如何使用编译:
下载网址:?simpleini/README.md at master ·布罗菲尔德/简单尼 ·GitHub
包含的文件: 红色中都是我们需要的:?
创建个文件夹把这两个 ".h"包含在内然后再实现自己所需的cpp文件接口进行编译即可;
C++ C混合编译不要忘记
#ifdef __cplusplus
extern "C" {
#endif
/*实现 */
#ifdef __cplusplus
}
#endif
INI文件示例:
[Cfg0]
Period = 5000
flag = 1
Num = 1
StartNum = 3
dlNum = 2
ulNum = 2
调用读取示例:
//c++示例
CSimpleIniA ini;
SI_Error rc; //结构在simpleIni.h中定义了
rc = cfgini.LoadFile("xxx.ini"); //加载文件
period = cfgini.GetLongValue ("Cfg0", "Period ", 5); //读取Cfg0节点中的 Period 属性,如果没有这个节点的话默认值是5;
// 类似的接口 GetDoubleValue GetBoolValue SetValue SetLongValue 等;
rc = cfgini.SetLongValue("Cfg0", "Period ", 6, "Period");
常用接口:
1、加载文件? ??
// load from a data file ?? ?CSimpleIniA ini; ?? ?SI_Error rc = ini.LoadFile("example.ini");
2、获取值
ini.GetLongValue("Cfg0", "Period ", ?5);
ini.GetValue("section1", "key99");
3、修改数据
ini.SetValue("section1", nullptr, nullptr);
rc = cfgini.SetLongValue("Cfg0", "Period ", 6, "Period");
4、删除数据
ini.Delete("Cfg0", "Period?");
done = ini.Delete("section2", nullptr);
5、保存数据 ?? ?// save the data to a string ?? ?std::string data; ?? ?rc = ini.Save(data);
|