资源简介
本工具功能为读取ini配置文件中的配置项,包含有样例程序,编译脚本,如需自编译验证,可在安装有G++4.4.7以上版本的linux环境下直接运行makefile(命令make),即可生成可执行文件parse
运行样例见本说明第四部分。
如需将本工具嵌入您的项目中直接使用,只需将config.cpp与config.h文件拷贝到您项目的源程序目录下,然后在您的代码中加入"config.h"头文件,参考样例iniFile_parse.cpp中的写法,
采用:int parse_ini_file(const char *fileName, Config *pconfig);接口解析配置文件到Config类对象中,再从Config类对象中读取出相应的配置即可,关于Config类的主要功能,可以参考本说明第三部分内容。
代码片段和文件信息
/********************************************************
FileName: config.cpp
Author: czl
Email: 137493336@qq.com
Created: 2019/01/09
Description:配置文件类实现
********************************************************/
#include “config.h“
namespace iniFile_parse
{
/************************************
@ Brief: ConfigItem构造函数
@ Author: czl
@ Created: 2019/01/09
@ Param: NA
************************************/
ConfigItem::ConfigItem()
{
m_key = new char[MAX_CONFIG_LINE_LENGTH];
m_value = new char[MAX_CONFIG_LINE_LENGTH];
}
/************************************
@ Brief: ConfigItem带参构造函数
@ Author: czl
@ Created: 2019/01/09
@ Param: key:键值,value:值
************************************/
ConfigItem::ConfigItem(const char *key const char *value)
{
m_key = new char[MAX_CONFIG_LINE_LENGTH];
m_value = new char[MAX_CONFIG_LINE_LENGTH];
strcpy(m_key key);
strcpy(m_value value);
}
/************************************
@ Brief: ConfigItem拷贝构造函数
@ Author: czl
@ Created: 2019/01/09
@ Param: tmp:待拷贝的配置项
************************************/
ConfigItem::ConfigItem(const ConfigItem &tmp)
{
m_key = new char[MAX_CONFIG_LINE_LENGTH];
m_value = new char[MAX_CONFIG_LINE_LENGTH];
strcpy(m_key tmp.m_key);
strcpy(m_value tmp.m_value);
}
/************************************
@ Brief: ConfigItem析构函数
@ Author: czl
@ Created: 2019/01/09
@ Param: NA
************************************/
ConfigItem::~ConfigItem()
{
delete[] m_key;
delete[] m_value;
m_key = NULL;
m_value = NULL;
}
/************************************
@ Brief: 清空配置项
@ Author: czl
@ Created: 2019/01/09
@ Param: NA
@ Return: NA
************************************/
void ConfigItem::clear()
{
delete[] m_key;
delete[] m_value;
m_key = NULL;
m_value = NULL;
}
/************************************
@ Brief: 赋值运算符重载
@ Author: czl
@ Created: 2019/01/09
@ Param: ConfigItem类型引用
@ Return: ConfigItem类型引用
************************************/
ConfigItem& ConfigItem::operator = (const ConfigItem& tmp)
{
strcpy(this->m_key tmp.m_key);
strcpy(this->m_value tmp.m_value);
return *this;
}
/************************************
@ Brief: 设置key
@ Author: czl
@ Created: 2019/01/09
@ Param: 待设置字符串
@ Return: NA
************************************/
void ConfigItem::set_key(const char *tmp)
{
strcpy(m_key tmp);
}
/************************************
@ Brief: 获取key
@ Author: czl
@ Created: 2019/01/09
@ Param: NA
@ Return: 返回键值
************************************/
char *ConfigItem::get_key() const
{
return m_key;
}
/************************************
@ Brief: 设置value
@ Author: czl
@ Created: 2019/01/09
@ Param: 待设置字符串
@ Return: NA
************************************/
void ConfigItem::set_value(const char *tmp)
{
strcpy(m_value tmp);
}
/**********************************
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-09 16:15 iniFile_parse\
文件 8740 2019-01-09 13:13 iniFile_parse\config.cpp
文件 2869 2019-01-09 13:33 iniFile_parse\config.h
文件 1162 2019-01-09 13:40 iniFile_parse\iniFile_parse.cpp
文件 1366 2019-01-09 15:53 iniFile_parse\makefile
文件 156 2019-01-09 13:16 iniFile_parse\my.ini
文件 1139 2019-01-09 13:59 iniFile_parse\readme.txt
相关资源
- c++ primer 经典课件
- C++ Builder 2010 序列号+注册机(破解补
- 简易学生管理系统(C++)
- R树C++代码实现
- c++学习之动态内存运算符
- c++变量引用的学习用例
- 基于c++的格斗游戏
- sha1(C++实现)
- 基于神经网络的车牌识别系统//VC++毕
- 数字水印c++实现
- 用C#和C++实现的进程调度算法程序操作
- 约瑟夫环问题 循环队列实现C++源码
- 随机网络拓扑生成算法c++实现waxman算
- C++ Primer中文版第五版带目录及源码
- 回溯法 0-1背包问题 C++
- c++api中文版
- c++实现的端口映射
- QR分解算法的纯c++代码
- 基于c++的udp传输,传送超过10M的文件
- MFC程序设计-画图板
- 操作系统实验--电梯调度 VC++实现
- C++实现排课程序
- VS2010 C++ ADO读取ACCESS 数据库
- 东北大学c++实验报告214492
- JMAIL邮件发送C++
- 网络流量统计源程序c++
- C++实现的单纯形算法计算程序
- AES加密算法(C++实现)
- 基于C++的火车票管理系统
- 员工管理系统c++
评论
共有 条评论