C++文件操作——ini文件读取与写入

一、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);

你可能感兴趣的:(C++,文件操作)