锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / C++开源 / MFC读写INI、MFC的INI常用操作
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

锐英源精品原创,禁止转载和任何形式的非法内容使用,违者必究


MFC读写INI、MFC的INI常用操作


字符串是最重要最常用的数据类型,而文本文件是最常用的文件格式,INI文件是文本文件中的小摩托,有些小零件,能用信息装配出来一些软件的基础。下面就介绍零件概念。

我们知道我们的项目中的程序往往是做一些逻辑处理,但如果我们现在有一个需求就是说要在程序中存储一些固定的信息,我们该怎么办,这时候我们可能会想到我们在程序中用来存储数据信息的变量,但我们立马能够想到不管是我们的变量还是我们写的类,都是为了逻辑处理而存在的,都有自己的声明周期,在程序的执行过程中它们一直是一个创建和销毁的过程。那么如何在我们工程中持久化信息呢,这事小编我最先想到的就是用我们的txt文件来存储,然后用我们的程序对文件进行读取、写入操作。

于此同时官方也想到了这些,官方给我们提供了以ini为后缀的配置文件,并且还给我们提供了对该配置文件的读写函数,这样可以极大的简化我们的持久化需求。
Ini文件可以存储我们的配置信息,作用相当于我们的数据库,我们知道我们的数据库就是可以来存储一些我们的持久化信息,但是如果我们的项目并不需要过多的数据存储操作,我们的ini文件可以说是完全够用了。

官方提供了WritePrivateProfileString()和GetPrivateProfileString()两个函数来对我们的配置文件进行写入与读取操作,WritePrivateProfileString()函数原型如下
BOOL WritePrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpString,
LPCTSTR lpFileName
);

按照常识我们应该能够猜到,持久化操作至少要有键值对,就是我们上面的lpKeyName和lpString,而我们要确定插入哪个文件,因此又有了我们的参数lpFileName,而对于我们这样一个持久化文件,如果全部都是键值对,势必会导致我们的查询速度变慢,因此我们还要输入一个字段名lpAppName,相当与表的作用,将我们的键值对划分为一张张表,表在ini里称呼为节,ini文件就是由节和项来组成,很直观,也很简单,但很常用,所以是初学者学MFC的一个好方向。
GetPrivateProfileString()字段原型如下
DWORD GetPrivateProfileString(
LPCTSTR lpAppName, 
LPCTSTR lpKeyName, 
LPCTSTR lpDefault, 
LPTSTR lpReturnedString, 
DWORD nSize, 
LPCTSTR lpFileName 
);

学习了写入函数,我们不难猜到,读取的时候,字段名(lpAppName)、键名(lpKeyName)、文件名(lpFileName)这三个是必不可少的,这三个字段唯一确定我们的信息,然后就是接受信息的字段(lpReturnedString),而如果根据我们的字段和键没有读到值的话我们的(lpReturnedString)接收的就是我们lpDefault字段里的信息,代表该字段中该键名的默认信息,原型还多出一个字段(nSize)来记录我们这个值的大小。

但说到这里我们好像只进行了ini文件的写入和读取操作,我们如何对数据进行删除呢,删除没有对应的函数吗?难道是官方的疏忽,其实不是的,我们想要删除某个字段或者是键,只需要在写入数据的时候,将对应的字段或者是键对应的参数置为null的最用就相当与删除了指定的字段和键。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州市金水区郑州大学北校区院(文化路97号院)内