C++ Windows读写INI文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yaoshenjie/article/details/50282329
C++ Windows读写INI文件
一:将信息写入到INI文件

所用函数:
BOOL WritePrivateProfileString(
LPCSTR lpAppName,
  LPCSTR lpKeyName,
    LPCSTR lpString,
  LPCSTR lpFileName)
参数说明:
LPCSTR lpAppName   ini文件中字段名
LPCSTR lpKeyName   是对应字段( lpAppName )下的key名,类似C++中的变量
LPCSTR lpString          是对应键名下的键值,必须为 LPCSTR或CString类型
LPCSTR lpFileName   是ini文件的完整路径

实例:
CString strName ,strTemp;
int iAge;
strName = "李四";
iAge = 18;
WritePrivateProfileString("StudentInfo","Name",strName,"d:\\stu\\student.ini");
//此时ini文件中会出现
//[StudentInfo]
//Name=李四

strTemp.Format("%d",iAge);
WritePrivateProfileString("StudentInfo","Age",strTemp,"d:\\stu\\student.ini");

二:将ini文件中的内容读入内存

读CString类型所用函数:
DWORD GetPrivateProfileString(
     LPCSTR lpAppName,
     LPCSTR lpKeyName,
     LPCSTR lpDefault,
    LPSTR lpReturnedString,
   DWORD nSize,
     LPCSTR lpFileName
    );
参数说明:
 LPCSTR lpAppName  ini文件中字段名
     LPCSTR lpKeyName 是对应字段(lpAppName )下的key名,类似C++中的变量
      LPCSTR lpDefault 如果ini文件中没有对应所给的 lpAppName和lpKeyName 值,将此值赋给变量
     LPSTR lpReturnedString 接
INI文件中值的CString对象,即目的缓存器
   DWORD nSize 目的缓存器的大小
      LPCSTR lpFileName 是ini文件的完整路径

实例:
CString stuName;
int stuAge;
GetPrivateProfileString("StudentInfo","Name","无",stuName.GetBuffer(MAX_PATH),MAX_PATH,"d:\\stu\\student.ini");

注:在使用完GetBuffer()后要调用ReleaseBufer()

//执行后stuName的值为李四,如果参数1,2ini文件中无,stuName值为无。

读整形所用函数:
UINT   GetPrivateProfileInt(
    LPCSTR lpAppName,
LPCSTR lpKeyName,
INT nDefault,
 LPCSTR lpFileName
   );

stuAge = GetPrivateProfileInt("StudentInfo","Age",10,"d:\\stu\\student.ini");

注:在Windows下WritePrivateProfileString、GetPrivateProfileString、GetPrivateProfileInt都是受字符集所影响的,如果你按照本例操作,出现函数参数类型问题,请将vs中项目的属性->配置属性中的字符集改为对应的字符集(unicode/多字节字符集)即可。

猜你喜欢

转载自blog.csdn.net/yaoshenjie/article/details/50282329