VC遍历INI配置文件
在VC中对INI的操作函数很少,为了能够达到遍历INI的目的,有很多人选择用CFile来重新解析INI以达到遍历的目的,但是这样做真的很麻烦,这里我研究了半天终于找到一种用既给的函数达到遍历INI的目的。
直接上代码:
void GetWholeINI()
{CString g_UnitName[100]; //全局变量:探头名称CString g_UnitID[100]; //全局变量:探头编号CStringArray g_Section;//全局变量;分割好的sectionint counts=0;int g_UnitNumber=0; //全局变量:探头总数char strBuffer[48]; //临时缓冲区,用于接收字符串int saveHead=0;//获取第一个节点名DWORD nChar;GetSections(g_Section);for(int i=0;i<g_Section.GetSize();i++){while(1){//保存探头标识nChar = GetPrivateProfileString(g_Section.GetAt(i),NULL,"",strBuffer,sizeof(strBuffer),iniClientFullPath);g_UnitID[g_UnitNumber] = strBuffer;//保存探头名称nChar = GetPrivateProfileString(g_Section.GetAt(i),g_UnitID[g_UnitNumber],"",strBuffer,sizeof(strBuffer),iniClientFullPath);g_UnitName[g_UnitNumber] = strBuffer;if(counts==0){m_hostList.InsertItem(i,g_UnitName[g_UnitNumber]);}else{m_hostList.SetItemText(i,counts,g_UnitName[g_UnitNumber]);}if(nChar==0){break;}//将此探头从配置文件中删除WritePrivateProfileString(g_Section.GetAt(i),g_UnitID[g_UnitNumber],NULL,iniClientFullPath);//保存探头个数//读不到信息,表示已经遍历整个INI文件,则退出循环g_UnitNumber ++;counts++;}//将探头信息重新写入配置文件for(int j = saveHead; j < g_UnitNumber; j++){WritePrivateProfileString(g_Section.GetAt(i),g_UnitID[j],g_UnitName[j],iniClientFullPath);}saveHead=g_UnitNumber;counts=0;}
}
//分割section
int GetSections(CStringArray &arrSection)
{ int iLength=0;int iPos=0; TCHAR chSectionNames[2048]={0}; //总的提出来的字符串 TCHAR chSection[12]={0}; //存放一个段名。 DWORD nChar=GetPrivateProfileSectionNames(chSectionNames,sizeof(chSectionNames),iniClientFullPath); //以下循环,截断到两个连续的0 for(int i=0;i<nChar;i++) { if(chSectionNames[i]==0){arrSection.Add(chSection); if (chSectionNames[i]==chSectionNames[i+1]){break; }memset(chSection,0,iLength); iPos=0; iLength=0;}else{chSection[iPos++]=chSectionNames[i]; iLength++;}} return (int)arrSection.GetSize();
}
缓冲区的大小可以根据自己项目中的实际情况来定。
希望能够帮到大家。
VC遍历INI配置文件相关推荐
- 【Python教程】读写ini配置文件的详细操作
ini文件即Initialization File初始化文件,在应用程序及框架中常作为配置文件使用,是一种静态纯文本文件,使用记事本即可编辑. 配置文件的主要功能就是存储一批变量和变量值,在ini文件 ...
- python读取配置文件 分段_Python3读写ini配置文件的示例
ini文件即Initialization File初始化文件,在应用程序及框架中常作为配置文件使用,是一种静态纯文本文件,使用记事本即可编辑. 配置文件的主要功能就是存储一批变量和变量值,在ini文件 ...
- python-configparser生成ini配置文件
写入配置: 创建文件:configTest.ini import configparserconfig = configparser.ConfigParser() config['DEFAULT'] ...
- C/C++ ini配置文件的格式及如何读写ini配置文件
一.ini配置文件的格式 为什么要用INI文件?如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序 ...
- java读取、写入保存、遍历ini文件配置数据
全栈工程师开发手册 (作者:栾鹏) java教程全解 java读取ini配置文件,将数据写入ini文件,遍历ini文件 需要引入org.dtools.javaini包,下载 测试代码 public s ...
- QT当中的【QSetting和.ini配置文件】以及【创建Resources.qrc】
QT当中的[QSetting和.ini配置文件]以及[创建Resources.qrc] [1] 创建QT下的.qrc [2]QSetting+.qrc使用 [3]代码实现 main.cpp mainw ...
- 安全认证框架Shiro (一)- ini配置文件
我不是语言的开发者,我只是它的搬运工.每进步一点,5年之后你也是个人物 为什么看网上的例子都喜欢用ini格式文件,为什么不用.propertes或xml. 我们来看看一个ini格式文件text.ini ...
- MFC操作ini配置文件
MFC操作ini配置文件 概述 在程序中经常要用到设置或者其他少量数据的存盘,以便程序在下一次执行的时候可以使用,比如说保存本次程序执行时窗口的位置.大小.一些用户设置的数据等等,在 ...
- QT中如何读写ini配置文件
本文首发于「3D视觉工坊」知识星球. 如图1所示,我们需要在QT界面中实现手动读取参数存放的位置,那么我们该如何做呢? 方法:读取ini格式的配置文件,实现路径的写入与读取. 第一步:界面构造函数中, ...
最新文章
- 区块链技术指2.1 区块链技术
- Python创建单例模式的5种方法
- 误删50节点K8s集群为何3小时才能复原?Spotify揭自家事故幕后经验
- 让java的多重继承成为现实!
- Spring Batch中面向TaskletStep的处理
- MFC、OpenCV初探 —— PictureControl中图片的缩放
- OkHttp3用法全解析
- 零起点入门系列:如何把一张纸单变成在线表单?
- java程序中空一阁_如何使用JFlex、JavaCUP(详细代码模版) by 踏雪赤兔
- java script 延时_javascript 延时执行函数
- matlab怎么算基金组合收益率,基金组合如何精确计算收益率?——以MWRR和TWRR为例...
- [Tyvj1450 GF打Dota]
- 如何利用COOC生成动态排名变化利器可识别的数据格式
- 可能是最强的Python可视化神器,建议一试
- Java金额转换工具类
- 一文读懂5G R16标准究竟讲了些什么
- k均值算法的优化目标和随机初始化
- 题解 CF174A 【Problem About Equation】
- 数据工程师面试常见题目汇总
- 光盘和U盘安装win7和ubuntu14.04全步骤