C++读取配置文件

一、要想读取配置文件首先要学会写配置文件,那么配置文件是什么结构呢?请看下图:

在这里插入图片描述
配置文件由两部分构成:字段名和键名。可以看到我圈出来两个颜色的方框,其中红色的两个方框就是字段名,每个字段下包含其字段的键名和键值,蓝色的方框就是键名和键值。

二、知道配置文件的结构之后我们就可以读配置文件了,

读配置文件要用到函数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】免费获取数百本计算机经典书籍

    C++读取配置文件

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/202065

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午9:02
下一篇 2023年2月12日 下午9:02

相关推荐