• 大小: 6KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: C/C++
  • 标签: ini  c++  

资源简介

本工具功能为读取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

评论

共有 条评论