一、ini文件的读取(GetProfileString,GetPrivateProfileString)
从系统文件Win.ini中读取数据
DWORD GetProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpDefault,
LPCTSTR lpReturnedString,
DWORD nSize
);
从指定ini文本中读取数据
DWORD GetPrivateProfileString(
LPCTSTR lpAppName, //配置文件的section名
LPCTSTR lpKeyName, //配置文件的key名
LPCTSTR lpDefault,
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
);
二、ini文件的写入
将数据写入到Win.ini系统文件中
BOOL WriteProfileString(LPCTSTR lpAppName, // section name
LPCTSTR lpKeyName, // key name
LPCTSTR lpString // string to write
);
将数据写入到指定ini文本中
BOOL WritePrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpString,
LPCTSTR lpFileName
);
读写示例如下:
TCHAR szPath[_MAX_PATH]={0};
TCHAR szDrive[_MAX_DRIVE]={0};
TCHAR szDir[_MAX_DIR]={0};
TCHAR szFname[_MAX_FNAME]={0};
TCHAR szExt[_MAX_EXT]={0};
GetModuleFileName(NULL,szPath,sizeof(szPath));
ZeroMemory(g_wszProgramPath,sizeof(g_wszProgramPath));
_wsplitpath_s(szPath, szDrive, szDir, szFname, szExt);
wsprintf(g_wszProgramPath,_T("%s%s"), szDrive, szDir);
TCHAR szIniFile[MAX_PATH]={0};
wsprintf(szIniFile,_T("%s\\Setup.ini"),g_wszProgramPath);
WCHAR szValue[128]={0};
GetProfileString(L"Mail",L"MAPIXVER",L"1.0.0.9",szValue,sizeof(szValue));
GetPrivateProfileString(L"Mail",L"MAPIXVER",L"1.0.0.9",szValue,sizeof(szValue),szIniFile);
WriteProfileString(L"Test",L"Addr",L"1.0.0.9");
WritePrivateProfileString(L"Test",L"Addr",L"1.0.0.1",szIniFile);