⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ini.h

📁 采用Platform Builder进行编程
💻 H
字号:
// INI.h: interface for the CINI class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_INI_H__533BDAAF_C417_4195_BB95_1BE4F0AEAF66__INCLUDED_)
#define AFX_INI_H__533BDAAF_C417_4195_BB95_1BE4F0AEAF66__INCLUDED_

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


#ifndef _INI_H_
#define _INI_H_

#ifndef SAFE_DELETE
#define SAFE_DELETE(x)	if( (x)!=NULL ) { delete (x); (x)=NULL; }
#endif



#ifndef SAFE_FREE
#define SAFE_FREE(x)	if( (x)!=NULL ) { free(x); (x)=NULL; }
#endif



//配置文件类
class CIni
{
////////////////////////////////////////////////
// 内部数据
////////////////////////////////////////////////
public:
	char m_strFileName[MAX_PATH];	//文件名
	long m_lDataLen;				//文件长度
	char* m_strData;				//文件内容
    

	char*  name;//存放name
	char*  data;//存放data



	int IndexNum;					//索引数目([]的数目)
	int *IndexList;					//索引点位置列表

////////////////////////////////////////////////
// 通用接口
////////////////////////////////////////////////
public:
	CIni();
	CIni(char[],LPCTSTR);							//初始化打开配置文件
	virtual ~CIni();						//释放内存
	
////////////////////////////////////////////////
// 内部函数
private:


	bool Open(char[],LPCTSTR);	//打开配置文件
	     //1.初始化索引	
	void InitIndex();
	     //2.从当前位置p 开始计算 下一行的 字节位置      
    int GotoNextLine_position(int p);

	     //3.在指定位置读取索引值 Index    
    char *ReadIndexAt_p(int p);
	    //4.返回索引值为  index   的位置
    int FindIndex_position(char *index);
	
	       //5.返回name的字节位置    其中p为4.返回的Index的位置
     int FindNamePosition_at_IndexPos_p(int p, char *name0);
      	   //6.  在指定的位置读取  name和data, 其中p为5.返回的name的位置
     char *ReadNameAndDataAt_p(int p, int tagNameOrData);//当tagNameOrData=1时,返回name,=2时返回data
     
	
	
	
////////////////////////////////////////////////
//外部接口
public:
          //7.  利用 6.读取index下的name值
	double ReadData(char *index,char *name);
	     
	bool Write(char *index, char *name, char *string);
	    //8. 在当前位置修改一个数据的值
    bool ModityData(int p, char *name, char *string);
	bool Save(char *filename=NULL);			//保存配置文件
	//void Close();
};

#endif

#endif // !defined(AFX_INI_H__533BDAAF_C417_4195_BB95_1BE4F0AEAF66__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -