一、要想读取配置文件首先要学会写配置文件,那么配置文件是什么结构呢?请看下图:
配置文件由两部分构成:字段名和键名。可以看到我圈出来两个颜色的方框,其中红色的两个方框就是字段名,每个字段下包含其字段的键名和键值,蓝色的方框就是键名和键值。
二、知道配置文件的结构之后我们就可以读配置文件了,
读配置文件要用到函数GetPrivateProfileString();看一下函数说明
DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefaut,LPSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);
头文件:
windows.h
返回值 :
DWORD -----------------------------返回字符串的实际大小,失败返回-1
形参:
LPCTSTR lpAppName ---------- INI配置文件中的一个字段名,也就是上图中红色方框中的内容,这个字串不区分大小写;
LPCTSTR lpKeyName ---------- INI配置文件下的一个key键名,也就是上图中蓝色方框的内容,这个字 串不区分大小写;
LPCTSTR lpDefaut ----------------如果配置文件中没有找到前两个的参数值,则将此参数默认值赋给变量。一般设为空("");
LPSTR lpReturnedString ---------指定一个字符串缓冲区,用来接收INI文件中的返回值的CString对象;
DWORD nSize ----------------------指的是前一个参数对象的缓冲区的大小
LPCTSTR lpFileName ------------完整的INI文件路径名
举个例子还是上图中的配置文件,现在我要读取config下的Port字符:
char port[20]; //接收配置文件字符的缓冲区
DWORD res; //返回值
res= GetPrivateProfileString("config", "Port", "", port, sizeof(port), "config.ini");
三、如果现在我们需要写配置文件呢
读配置文件要用到函数WritePrivateProfileString();看一下函数说明
bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);
参数基本同读配置文件,
返回值为bool类型,返回是否写成功
直接举例子吧:我要在配置文件config.ini下写一个config2字段中的一个ip键值
bool res; //返回值
res= WritePrivateProfileString("config2", "Ip", "192.168.0.12", "config.ini");
你学会了吗?
原文链接: https://www.cnblogs.com/YanFaLaoDa/p/13671062.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/202065
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!