資源簡介
本工具功能為讀取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
評論
共有 條評論