由于项目中存在很多内容不确定,用户可能会有更改,因此,我才用了配置文件的方法来解决。
1、.ini配置文件的读写
ini文件的读取:
//读取字符串
DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefaut,LPSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);
参数说明:
lpAppName:ini文件中的一个字段名
lpKeyName:ini文件中的键名
lpDefaut:如果未找到字段名或者键名,则将此值赋给变量
lpReturnedString:接收值的变量,接收INI文件中的值的CString对象,即接收缓冲区。
nSize:接收缓冲区的大小
lpFileName:ini文件的路径
函数返回值:接收到缓冲区中的字符的个数。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpApplicationName或lpKeyName为NULL,则返回nSize-2)。
//读取整型值
UINT GetPrivateProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault,LPCTSTR lpFileName);
相关参数同上
ini文件的写入:
bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);
参数说明:
lpAppName:字段名
lpKeyName:键名
lpString:要写入文件的字符串
lpFileName:文件路径
返回值:写入成功返回非零,写入失败,返回零
读取实例:
CString condition;
::GetPrivateProfileString(_T("bpy_param"), _T("param13"), _T("参数NULL"), condition.GetBuffer(MAX_PATH), MAX_PATH, _T(".\\jinzhoubpy.ini"));
在这个例子中,我们调用GetPrivateProfileString函数将文件中的字段读入到了CString变量condition的缓冲区中。这时候,如果我们需要对condition接收到的字符串进行拆分等操作,我们必须调用condition.ReleaseBuffer();否则,一切对condition的操作都将无效,这一点需要谨记。