您的位置:首页 > 编程语言 > C语言/C++

C++ Windows读写INI文件

2015-12-13 13:52 591 查看
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/多字节字符集)即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: