一个手工读写INI文件的类(二)[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 bluebohe 的 blog

(读者可以点击这里获得源代码,注意解压后将boot.ini拷贝到e:\,以便程序运行找到文件)

头文件cfgdata.h

// cfgdata.h: interface for the ccfgdata class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(afx_cfgdata_h__a40cdb9a_0e44_49e6_a460_505d76ba6414__included_)
#define afx_cfgdata_h__a40cdb9a_0e44_49e6_a460_505d76ba6414__included_

#if _msc_ver > 1000
#pragma once
#endif // _msc_ver > 1000

class ccfgdata 
{
protected:
 //组到配置数据的映射
 cmapstringtoptr m_strmapmap;
 //当前组
 cstring m_strgroup; 
public:
 //构造配置数据
 ccfgdata();
 //析构配置数据
 virtual ~ccfgdata();
 //从文件加载配置数据
 /*
 参数: lpctstr strfilename 加载文件的名称
 返回值:无
 */
 void loadcfgdata(lpctstr strfilename);
 //将配置数据保存到文件
 /*
 参数: lpctstr strfilename 保存文件的名称
 返回值:成功返回true 失败返回false
 */
 bool savecfgdata(lpctstr strfilename);
 
 //将配置数据保存到字符串
 /*
 参数: cstring* pstr 要保存的字符串指针
 返回值:成功返回true 失败返回false
  */
 bool savetostr(cstring* pstr);
 //设置当前读取的组
 /*
 参数: 当前组名称
 返回值:无
 */
 void setgroup(lpctstr strgroup);
 //修改或者添加一条当前组中的数据
 /*
 参数: lpctstr strkey 要修改的数据的键值
   lpctstr strvalue要修改的数据的内容
 返回值:
 备注: 如果当前组在配置数据中存在,则修改或者添加该组对应键值的数据,如果当前组灾配置数据中不存在,则先创建该组
  */
 bool setdata(lpctstr strkey,lpctstr strvalue);
 //得到当前组中对应键值中字符串类型的数据
 /*
 参数: lpctstr strkey 要得到的数据的键值
   lpctstr strvalue要得到的数据的内容 
 返回值:找到数据返回true,否则返回false
 */
 virtual bool getstrdata(lpctstr strkey,cstring &strvalue);
 //得到long型的数据
 /*
 参数: lpctstr strkey 要得到的数据的键值
   long lvalue  要得到的数据的值 
 返回值:找到数据返回true,否则返回false 
  */
 virtual bool getlongdata(lpctstr strkey,long &lvalue);
 

protected:
 //释放配置数据所占用的内存
 /*
 参数: 无
 返回值:无
  */
 void removeall();
 

本文关键:ini CMap CMapStringToPtr
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top