MFC利用系统API读取INI配置文件

confing.ini中的内容

[账号]
account=123|456

[是否修理装备]
repair=1

 


读取INI字符串:

CString pourin;

GetPrivateProfileString(L"账号",L"account",NULL,pourin.GetBufferSetLength(MAX_PATH),MAX_PATH,L"C:\\Warehouse\\config.ini");


参数1:读取的小节名
参数2:小节下的的变量名
参数3:如果没读取到指定内容可以默认返回一个值给接收变量,可以为NULL,表示不返回默认值。
参数4:用一个字符变量接收读取到的值,此参数默认数据类型为CHAR *无法直接使用string或CString类型;默认应该填写一个空的字符数组例如:CHAR ht[255]。也就是数据存储空间大小为一开始就指定的值。一般来说INI的键值都不会太长,如果太长的话会无法读取。所以一般指定为255或者MAX_PATH。MAX_PATH为WINDOWS默认指定的一个常量宏,其长度一般为260。

参数5:指定缓冲区大小。
参数6:ini文件的路径,可以放到exe目录下然后用相对路径".\\config.ini"


读取INI里的数值


int burne=GetPrivateProfileInt(L"是否修理装备",L"repair",NULL,L"C:\\Warehouse\\config.ini");

返回值:返回读取到的数值


参数1:读取的小节名
参数2:小节下的的变量名
参数3:如果没读取到指定内容可以默认返回一个值给接收变量,可以为NULL,表示不返回默认值。
参数6:ini文件的路径,可以放到exe目录下然后用相对路径".\\config.ini"


写入内容到INI:


CString pourin=L"1";
WritePrivateProfileStringW(L"是否修理装备",L"repair",pourin,L"C:\\Warehouse\\config.ini");


参数1:小节名
参数2:小节下的的变量名
参数3:要写入ini变量中的内容
参数4:ini文件的路径,可以放到exe目录下然后用相对路径".\\config.ini"

 

补充一个编辑ini文件的坑,不要用windows的记事本来编辑ini文件,会导致出错,鄙人被这个坑了,推荐用Notepad++来打开/编辑/保存ini文件。

你可能感兴趣的:(C/C++)