ini.h
上传用户:whyxdz88
上传日期:2007-07-26
资源大小:4k
文件大小:2k
- //********************************************
- // Ini 相关函数
- //********************************************
- #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
- #include <afxwin.h> // MFC core and standard components
- #include <afxext.h> // MFC extensions
- #include <afxdisp.h> // MFC Automation classes
- #include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
- #include <afxcmn.h>
- #ifndef _INI_H_
- #define _INI_H_
- #ifndef SAFE_DELETE
- #define SAFE_DELETE(x) if( (x)!=NULL ) { delete (x); (x)=NULL; }
- #endif
- #ifndef SAFE_DELETE_ARRAY
- #define SAFE_DELETE_ARRAY(x) if( (x)!=NULL ) { delete[] (x); (x)=NULL; }
- #endif
- #ifndef SAFE_FREE
- #define SAFE_FREE(x) if( (x)!=NULL ) { free(x); (x)=NULL; }
- #endif
- #ifndef SAFE_RELEASE
- #define SAFE_RELEASE(x) if( (x)!=NULL ) { (x)->Release(); (x)=NULL; }
- #endif
- #define ERROR_DATA -99999999
- //配置文件类
- class CIni
- {
- public:
- bool Open(char *); // 打开配置文件
- void Close(); // 关闭配置文件
- void Save(char *filename=NULL); // 保存配置文件
- int ReadInt(char *, char *); // 读一个整数
- char *ReadText(char *, char *); // 读一个字符串
- void Write(char *, char *, int); // 写一个整数
- void Write(char *, char *, char *); // 写一个字符串
- void DeleteIndex(char *index); // 删除一段
- void DeleteName(char *index,char *name); // 删除段中一键名行
- void AddIndex(char *); //加入一个索引
- int FindHead(int index, char *string);
- int FindIndex(char *); // 返回标题位置
- CIni();
- CIni(char*); //初始化打开配置文件
- virtual ~CIni(); //释放内存
- private:
- void InitIndex(); // 初始化索引
- int FindData(int, char *); // 返回数据位置
- int GotoNextLine(int); // 获得下一行
- char *ReadDataName(int &); // 在指定位置读一数据名称
- char *ReadText(int); // 在指定位置读字符串
- char *ReadHeadName(int &p);
- void AddData(int, char *, char *); //在当前位置加入一个数据
- void ModityData(int, char *, char *); //在当前位置修改一个数据的值
- int GotoLastLine(char *index); //把指针移动到本INDEX的最后一行
-
- char m_strFileName[MAX_PATH]; //文件名
- long m_lDataLen; //文件长度
- char *m_strData; //文件内容
- int IndexNum; //索引数目([]的数目)
- int *IndexList; //索引点位置列表
- int Point; //当前指针
- int Line, Word; //当前行列
- };
- #endif