系统参数比较多的时候经常用到.ini 配置文件来配置参数。对.ini文件的读写操作记录如下:
- 写入ini
bool WritePrivateProfileString(
LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名
LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名
LPCTSTR lpString, // 键值,也就是数据
LPCTSTR lpFileName // INI文件的路径
);
例子
bool CQtFileOperate::MyWritePrivateProfile(QString strApp, QString strKey, int iContent, QString strFilePath)
{
QString strContent = QString("%1").arg(iContent);
LPCWSTR lstrApp = (wchar_t *)strApp.utf16();
LPCWSTR lstrKey = (wchar_t *)strKey.utf16();
LPCWSTR lstrContent = (wchar_t *)strContent.utf16();
LPCWSTR lstrFile = (wchar_t *)strFilePath.utf16();
return (bool)WritePrivateProfileString(lstrApp,lstrKey,lstrContent,lstrFile);
}
- 读取ini
DWORD GetPrivateProfileString(
LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名
LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名
LPCTSTR lpDefault, // 如果lpReturnedString为空,则把个变量赋给lpReturnedString
LPTSTR lpReturnedString, // 存放键值的指针变量,用于接收INI文件中键值(数据)的接收缓冲区
DWORD nSize, // lpReturnedString的缓冲区大小
LPCTSTR lpFileName // INI文件的路径
);
int CQtFileOperate::MyReadPrivateProfileInt(QString strApp, QString strKey, int iDefault, QString strFilePath)
{
LPCWSTR lstrApp = (wchar_t *)strApp.utf16();
LPCWSTR lstrKey = (wchar_t *)strKey.utf16();
LPCWSTR lstrFile = (wchar_t *)strFilePath.utf16();
return GetPrivateProfileInt(lstrApp, lstrKey, iDefault, lstrFile);
}