/*---------------------------------------------------------- 平台无关的INI文件读写函数 V1.65 张磊 2002.10.3 ----------------------------------------------------------*/ #ifndef INI_FILE_H #define INI_FILE_H #include "platform_def.h" #define MAX_LINE_BUF_LENGTH 2048 //最大行缓冲区长度 #define FILE_OPEN_ERROR -1 //文件打开错误 #define SECTION_NOT_FOUND -2 //段没有找到 #define KEY_NOT_FOUND -3 //键没有找到 //工具函数 void StrTrimLeft(char* szBuf); void StrTrimRight(char* szBuf); void StrTrimAll(char* szBuf); long GetFileSize(char* lpszFileName); int ReadLineFromFile(FILE* IniFile, char* lpszLineBuf, int iLen); //从指定文件中读取一行内容 bool IfBeforeHasRet(FILE* pFile); //辅助函数,判断当前文件位置前面是否是换行符号 //读配置文件中指定段下指定键的值(字符串) int QGetPrivateProfileString( const char* lpszSectionName, //段名 const char* lpszKeyName, //键名 const char* lpszDefault, //缺省字符串 char* lpszReturnedString, //结果字符串 u_32 nSize, //结果字符串长度 const char* lpszFileName, //ini文件名 const char* lpszRemarkInLineStr = (char*)";", //行内注释符 const char chContinueLineChar = '\\' //续行符号 ); //读配置文件中指定段下指定键的值(整数) int QGetPrivateProfileInt( const char* lpszSectionName, //段名 const char* lpszKeyName, //键名 int nDefault, //缺省值 const char* lpszFileName, //ini文件名 const char* lpszRemarkInLineStr = (char*)";", //行内注释符 const char chContinueLineChar = '\\' //续行符号 ); //向配置文件写入指定段下指定键的值(字符串) int QWritePrivateProfileString( const char* lpszSectionName, //段名 const char* lpszKeyName, //键名 const char* lpszString, //要写入的字符串 const char* lpszFileName //INI文件名 ); #endif