利用GetPrivateProfileString读取配置文件(.ini)

GetPrivateProfileString和WritePrivateProfileString 阅读详情
配置文件中经常用到ini文件,在VC中其函数分别为:

写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);

读取.ini文件:DWORD GetPrivateProfileString(LPCTSTR lpAppName, LPCTSTR lpKeyName,LPCTSTR lpDefaut,LPSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);

读取整形值:UINT GetPrivateProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault,LPCTSTR lpFileName);

其中个参数的意思:

LPCTSTR lpAppName ------- INI文件中的一个字段名

LPCTSTR lpKeyName -------- lpAppName 下的一个键名,也就是里面具体的变量名

LPCTSTR lpString ---------是键值,也就是变量的值, 必须为LPCTSTR或CString类型

LPCTSTR lpFileName --------完整的INI文件路径名

LPCTSTR lpDefaut ----------如果没有其前两个参数值,则将此值赋给变量

LPSTR lpReturnedString --------接收INI文件中的值的CString对象,即接收缓冲区

DWORD nSize ------接收缓冲区的大小

例子:

CString StrName,Strtemp;

int nAge;

StrName = "jacky";

nAge = 13;

WritePrivateProfileString("Student","Name",StrName,"c://setting.ini");

结果:(INI文件中显示如下:)

[Student]

Name=jacky

读取:

CString SName;

GetPrivateProfileString("Student","Name","DefaultName",SName.GetBuffer(MAX_LENGTH),MAX_LENGTH,"c://setting.ini");

结果:SName = "jacky";这里需要注意点就是用完GetBuffer函数后一定要释放(用SName.ReleaseBuffer()函数),不然后面再用到SName的其他子函数就会失灵。

读整数比较简单,如下

int Result = GetPrivateProfileInt("Student","nAge",0,"c://setting.ini")返回值即为所读取的结果!

在GetPrivateProfileString最后一个参数是配置文件路径的参数,此路径只能是绝对路径,不能是相对路径,但现在我需要是我的exe文件能和我的配置文件在一起。因此我使用了GetCurrentDirectory函数。

原代码如下:

CString server_ip;
CString des="";
::GetCurrentDirectory(MAX_PATHLENGTH,des.GetBuffer(MAX_PATHLENGTH));
des.ReleaseBuffer();
des+="//config.ini";
GetPrivateProfileString("PhoneDemo","Server_IP","",server_ip.GetBufferSetLength(15),15,des);
server_ip.ReleaseBuffer();

注意:在这里使用CString变量时,在使用完GetBuffer后,紧接着一定要使用ReleaseBuffer()函数,才可以进行其他的诸如字符串+操作
RT-Thread与ROS2通信:micro-ROS在STM32上的移植实践 本文详细介绍了在STM32平台上使用RT-Thread实时操作系统移植micro-ROS实现与ROS2通信的实践方案。通过对比rosserial方案,重点阐述了micro-ROS基于XRCE-DDS协议栈在数据可靠性(丢包率低于1%)、双模式通信(UDP/串口)以及C/C++混合编程方面的优势,为嵌入式设备与ROS2的高效通信提供了完整解决方案。 阅读详情

相关推荐

GetPrivateProfileString()函数

GetPrivateProfileString: 为初始化文件中指定的条目取得字串 , 这个字串不区分大小写 GetPrivateProfileString函数的定义形式为: DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefault,LPTSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName) 第一个参数:lpAppName: 配置文件的secti

我不是码农的博客~~~ 1万+

c++读取配置文件函数GetPrivateProfileString()

MSDN原文: GetPrivateProfileString() The GetPrivateProfileString function retrieves a string from the specified section in an initialization file. Note This function is provided only for compatibility ...

Alan_Program的博客 2368

VC++-读取ini配置文件GetPrivateProfileString

VC++-读取ini配置文件GetPrivateProfileString

阿飞2018 740

c++配置文件ini---GetPrivateProfileString(...)\WritePrivateProfileString(...)

最近换了新公司,开始做程序。之前没做过c++,用c++改写了一个c的socket程序。当时遇到一个问题:程序更改,如果需求变了,程序中的一些参数需要适当修改。当时公司的大牛说:“你可以写一个配置文件,到时直接更改配置文件就ok了”。配置文件ini?没用过。今天有时间决定学习,顺便开始记一些笔记。 网上资料很多,我水平有限,把自己一步步得到的东西写下来,一是为了自己日后看方便,二是方便读者应用。

zyuseful的专栏 2万+

利用GetPrivateProfileString读取配置文件(.ini)(

转自:http://blog.sina.com.cn/s/blog_4369de7e0100guz8.html 配置文件中经常用到ini文件,在VC中其函数分别为: 写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);

点滴成长路 493

C++读写ini配置文件GetPrivateProfileString()&WritePrivateProfileString()

转自:http://hi.baidu.com/andywangcn/blog/item/10ba730f48160eeb37d122e9.html 配置文件中经常用到ini文件,在VC中其函数分别为: #include <Windows.h> //wince,WMobile.ppc不支持这几个函数 写入.ini文件:bool WritePrivat...

网络资源是无限的 2万+

C++常用函数定义解释

C++常用函数定义解释

weixin_42350092的博客 628

分享电子书----软件安全技术

本实例主要实现使用 INI 文件对软件的用户信息进行注册的功能。运行本程序,输入登录名称、登录口令和注册码,单击“注册”按钮进行注册,如果注册成功,则给出提示;如果信息已注册,系统给出提示信息本实例实现时主要用到了系统API函数 GetPrivateProfileString 和WritePrivateProfileString,下面分别对它们进行详细讲解。(1)GetPrivateProfil...

weixin_30295091的博客 462

C++获取当前exe或者 dll所在的路径,并读取配置文件

纯C++获取exe或者dll 所在的路径,并读取配置文件信息。

bigger_belief的博客 4568

纯C实现下实现GetPrivateProfileString

纯C实现下实现GetPrivateProfileString

choujayyl的专栏 539

GetPrivateProfileString函数之新手上路

作用一、利用GetPrivateProfileString函数加载储存在文件的数据(代码中的变量值) Public Class Form1 Public CurrentPath As String = AppDomain.CurrentDomain.SetupInformation.ApplicationBase Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfile...

hongenwww007的博客 3011

第10篇:Agent + 爬虫 = 全自动数据采集专家

在企业级数据采集场景中,传统爬虫的痛点已经到了无法忽视的地步:而Agent + 爬虫的组合,就是这些痛点的终极解决方案。它的核心逻辑是:把爬虫从「人工写死的固定执行脚本」,升级为「能自主分析、自主决策、自主适配、自主修复的智能采集机器人」。我们在生产环境中做过对比测试:传统爬虫开发10个网站的采集脚本需要3人天,而Agent采集机器人只需要3分钟,页面改版后的修复成本从1人天降到了0,采集任务的成功率从62%提升到了95%以上。终端执行以下命令,安装基础依赖,与前9篇环境完全兼容: 二、核心能力拆解:Age

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1550

中国9大流域(长江-珠江-黄河流域等等)-mxd可编辑文件+标准shape文件+标准成图TIF

本资源包含中国9大流域标准shp文件,分别是:松辽流域、海河流域、黄河流域、淮河流域、长江流域、东南流域、珠江流域、西南流域、内陆河流域。此外,资源中包括可编辑mxd文件,方便用户根据自身做图喜好编辑使用,另外包括标准成图TIF格式,可直接使用。这些流域覆盖了中国的主要水系和地理区域,对我国的农业、工业和生态环境等方面都有着重要的影响。

上一篇: IPC空连接测试代码
下一篇: 使用Visual Studio 2005编写纯C程序
iiprogram
博客等级 码龄25年 1066粉丝 1515原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值