[C++] INI文件操作类, myini

最近开始学C++ 写一个项目
操作INI的API不是很好用..网上搜索的几个类也不太合用.呵
就随便写了一个.支持INI注释读写..


注释读写这个功能可能很少用到..只是因为保存原有注释,
反正都读出来了.还不如多个写的功能..只是多个函数



工程演试下载: http://download.csdn.net/detail/phptits/7675613

工程在VS2013下建的 

class myiniClass{
public:
    int error; //错误值
    char * errinfo; //错误信息
    char * iniPath; //ini文件路径
    map<string, string> iniData; //ini数据表
    myiniClass();
    ~myiniClass();
 
    /* 打开INI文件
    ** 参数1: (char *)文件路径
    ***********************************************
    ** 返回: 成功 0 MYINI_OK; 失败 -1 MYINI_NO
    ** 失败: error 设置为 -1 MYINI_NO
    */
    int open(char * path);
 
    /* 读取项目的字符串数据
    ** 参数1: (char *)要读取键名 (如: Section/Keys)
    ***********************************************
    ** 返回: 返回相应键的数据
    ** 失败: error 设置为 -1 MYINI_NO
    */
    const char * readString(char * key);
 
 
    /* 读取项目整类型数据
    ** 参数1: (char *)要读取键名 (如: Section/Keys)
    ***********************************************
    ** 返回: 返回相应键的数据;
    ** 失败: error 设置为 -1 MYINI_NO
    */
    int readInt(char * key);
 
    /* 读取项目的注释
    ** 参数1: (char *)要读取键名 (如: Section/Keys)
    ***********************************************
    ** 返回: 返回相应键的注释
    ** 失败: error 设置为 -1 MYINI_NO
    */
    const char * readNote(char * key);
 
    /* 写入项目的数据
    ** 参数1: (char *)要写入键名 (如: Section/Keys)
    ** 参数1: (const char *)要写入的数据
    ***********************************************
    ** 返回: 成功 0 MYINI_OK; 失败 -1 MYINI_NO
    ** 失败: error 设置为 -1 MYINI_NO
    */
    int writeData(char * key, const char * data);
 
    /* 写入项目的注释
    ** 参数1: (char *)要写入键名 (如: Section/Keys)
    ** 参数1: (const char *)要写入的注释内容
    ***********************************************
    ** 返回: 成功 0 MYINI_OK; 失败 -1 MYINI_NO
    ** 失败: error 设置为 -1 MYINI_NO
    */
    int writeNote(char * key, const char * data);
 
    /* 保存INI文件
    ** 无参数
    ***********************************************
    ** 返回: 成功 0 MYINI_OK; 失败 -1 MYINI_NO
    ** 失败: error 设置为 -1 MYINI_NO
    */
    int save(void);
};



使用方法简单粗暴

myiniClass mini;
mini.open("./config.ini");

mini.writeData("test/path", "c:/windows/");
mini.writeNote("test/path", "#路径必须以 / 结尾");

mini.writeData("test/max", "1");

//写没有项目的注释分出错
mini.writeNote("test/xxx", "#路径必须以 / 结尾");
cout << mini.error << " " << mini.errinfo << endl;

cout << "读取字符串: " <<mini.readString("test/path") << endl;

cout << "读取整数: " << mini.readInt("test/max") << endl;

//读取一个不存在的项目
mini.readString("test/oooo");
cout << mini.error << " " << mini.errinfo << endl;



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值