配置文件经常采用ini文件,window有相关API。
WritePrivateProfileString用于写文件
BOOL WritePrivateProfileString(
LPCTSTR lpAppName, // 字段名,如果字段名不存在,会被创建,可以创建多个字段名
LPCTSTR lpKeyName, // 键名,属于lpAppName,不存在会被创建;一个字段名可以有多个键名
LPCTSTR lpString, // 键值,也就是数据
LPCTSTR lpFileName // INI文件的路径,如果不存在会被创建
);
示例代码(win7_64 +VS2012)
char cExecPath[MAX_PATH];
char* pszPathofFile;
char pszFileName[MAX_PATH];
/*
* Get the path of the program executable since this is where the ini
* files are stored
*/
//获得当前可执行程序绝对路径
if(GetModuleFileName( 0, cExecPath, sizeof(cExecPath)))
{
pszPathofFile = strrchr(cExecPath, '\\'); /* remove the current EXE name from the path */
if(pszPathofFile)
{
*(pszPathofFile + 1) = '\0';
}
}
//拼接ini文件路径
sprintf_s( pszFileName, "%sCurrentProcessSetting.ini", cExecPath );
//key值
char keyValue[256];
sprintf_s( keyValue, "%d", 4 );
//字段名
char* sectionValue = "Communication";
WritePrivateProfileString(sectionValue , "COM Port", keyValue, pszFileName);