vc中操作INI文件函数
一 VC中操作INI文件函数
函数名 | 功能 | 备注 |
GetPrivateProfileInt | 读取INI文件指定块中的键名对应的整数值。 | |
GetPrivateProfileSection | 读取INI文件指定块中的所有键名及其对应值。 | |
GetPrivateProfileSectionNames | 读取一INI文件中所有的块名。 | |
GetPrivateProfileString | 读取INI文件指定块中的键名对应的字符串。 | |
GetPrivateProfileStruct | 读取INI文件指定块中的键名对应的数据 | |
GetProfileInt | 读取win.ini中指定块中的键名对应的整数值。 | |
GetProfileSection | 读取win.ini中指定块中所有的键名及其值。 | |
GetProfileString |
读取win.ini中指定块中的键名的对应值。 |
|
WritePrivateProfileSection | 替换INI文件中指定块中所有键名对应的值。 | |
WritePrivateProfileString | 把给定的键名及其值写入到指定INI文件的相应块中。 | |
WritePrivateProfileStruct | 把指定的键名及其数据写入到指定INI文件的块中。 | |
WriteProfileSection | 替换win.ini中指定块的所有键名对应的值。 | |
WriteProfileString | 将给定的键名及值写入win.ini中对应的块中。 | |
二 使用案例
1)函数GetPrivateProfileSectionNames用于读取INI文件中所有快名
GetPrivateProfileSectionNames(SectionName, ALLSECTIONS, m_strPath.c_str());
2)函数GetPrivateProfileSection读取INI文件指定块中所有键名及其对应的值
GetPrivateProfileSection(SectionTemp.strfulName.c_str(), pstrSectionChiefKey, SECTIONLEN, m_strPath.c_str());
vector<string> vctTypeNameTemp;
vector<SECTION> vctAllSctTemp;
char SectionName[ALLSECTIONS];
memset(SectionName,0,ALLSECTIONS);
string strSectionName="";
GetPrivateProfileSectionNames(SectionName, ALLSECTIONS, m_strPath.c_str());
CharToString(strSectionName,SectionName,ALLSECTIONS);
char *pOneSectionName = &strSectionName[0];
int ii = strlen(pOneSectionName); //多于。。。
int iSectionNamechieflen = 0;
while(0 != *pOneSectionName)
{
int iOneSectionNamelen = strlen(pOneSectionName);
iSectionNamechieflen += iOneSectionNamelen +1;
string strOneSectionName = "";
strOneSectionName = pOneSectionName;
SECTION SectionTemp;
string strSlash = "\\";
int iSlash = strOneSectionName.find(strSlash);
if(-1 == iSlash)
{
SectionTemp.strpreName = strOneSectionName;
SectionTemp.strposName = "";
SectionTemp.strfulName = strOneSectionName;
vctTypeNameTemp.push_back(strOneSectionName); //要求配置文件对各种类型图片都有输出的类型说明
}
else
{
SectionTemp.strpreName = strOneSectionName.substr(0,iSlash);
SectionTemp.strposName = strOneSectionName.substr(iSlash+1);
SectionTemp.strfulName = strOneSectionName;
}
char pstrSectionChiefKey[SECTIONLEN];
memset(pstrSectionChiefKey,0,SECTIONLEN);
GetPrivateProfileSection(SectionTemp.strfulName.c_str(), pstrSectionChiefKey, SECTIONLEN, m_strPath.c_str());
string strSectionChiefKey = "";
CharToString(strSectionChiefKey, pstrSectionChiefKey, SECTIONLEN);
char* pKey= &strSectionChiefKey[0];
int iallkeylen = 0;
bool bconfig = false;
bool bSect = true;
while(0 != *pKey)
{
SECTIONKEY Sectionskey;
int ikeylen = strlen(pKey);
iallkeylen += ikeylen + 1;
string strequal = "=";
string strKey = "";
strKey = pKey;
int iequal = strKey.find(strequal);
if(-1 == iequal)
{
pOneSectionName = &strSectionName[iSectionNamechieflen];
bSect = false;
break;
}
Sectionskey.strKeyName = strKey.substr(0,iequal);
Sectionskey.strKeyValue = strKey.substr(iequal + 1);
Sectionskey.strKey = strKey;
pKey = &strSectionChiefKey[iallkeylen];
SectionTemp.vctSectKey.push_back(Sectionskey);
if(ORDER == Sectionskey.strKeyName) //设置行值
{
SectionTemp.iLineNumber = atoi(Sectionskey.strKeyValue.c_str());
}
if(UPOSITION == Sectionskey.strKeyName)
{
EREGION regionTemp;
if(!GetRegion(Sectionskey.strKeyValue, regionTemp)) //判断是否为配置信息
{
pOneSectionName = &strSectionName[iSectionNamechieflen];
bSect = false;
break;
}
SectionTemp.RegNumber = regionTemp;
bconfig = true;
}
}
if(false == bSect)
{
continue;
}
if(false == bconfig && SectionTemp.strposName.empty())
{
SectionTemp.RegNumber = EREGION::Config;
}
pOneSectionName = &strSectionName[iSectionNamechieflen];
vctAllSctTemp.push_back(SectionTemp);
}
ClassifySortSection(mapAllSct, vctTypeNameTemp, vctAllSctTemp);
vctAllSctTemp.clear();
vctTypeNameTemp.clear();
vc中操作INI文件函数相关推荐
- VC中操作INI文件的API
VC中操作INI文件的API (1)操作系统配置文件Win.ini的函数: 函数名 功能 GetProfileSection 读取win.ini中指定节lpAppName中所有键名及其值.lpRetu ...
- VC中读写ini文件
我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAP ...
- VC++中实现INI文件读写的方法和示例
一:读ini配置文件 DWORD GetPrivateProfileString(LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpDefault, LP ...
- VC操作INI文件 ,INI文件操作总结,如何操作INI文件,INI文件使用方法小结
INI文件简介 在我们写程序时,总有一些配置信息需要保存下来,以便在下一次启动程序完成初始化,这实际上是一种类持久化.将一些信息写入INI文件(initialization file)中,可完成简单的 ...
- MFC操作ini文件方法
转载:https://blog.csdn.net/rayborn1105/article/details/8192142 在我们的程序设计中经常需要对一些参数进行配置,配置好后还要在下一次启动仍然有效 ...
- VC中使用低级音频函数WaveX播放声音文件
文章摘要: 本文讨论并实现了在VC++中使用低级音频函数WaveX播放声音文件的方法. -------------------------------------------------------- ...
- VC++中操作XML(MFC、SDK)
VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作 ...
- C#中读写INI文件
INI文件就是扩展名为"ini"的文件.在Windows系统中,INI文件是很多,最重要的就是"System.ini"."System32.ini&q ...
- 轻松实现一个操作ini文件的类
作者:lixiaosan(CSDN) 前言: 相信很多朋友在编写自己的程序中,都需要把一些数据先期导入到程序中进行初始化.那么这个时候,比较好的做法就是把你所有的数据写入一个ini文件,然后在程序去读 ...
最新文章
- java在jsp中判断td的值是1还是2_Snap7,Eel与S71200简单组态1
- LeetCode Count and Say
- android4.2添加重启菜单项
- 高并发编程-Thread#interrupt用法及源码分析
- golang 关闭gc 并手动gc_Golang 大杀器之跟踪剖析 trace
- c#启动EXE文件(简单的)
- MFC对话框中的工具栏、状态栏设计小结
- java之InetAddress类和InetSocketAddress的使用
- spotify 数据分析_我的Spotify流历史分析
- scrollTop 用法说明
- petshop学习笔记(1)
- zedboard的DDR3型号MT41K128M16HA
- 简单瀑布流-jquery实现
- linq to sql取出随机记录/多表查询/将查询出的结果生成xml
- 离散数学_电子科大王丽杰
- Chrome应用商店打不开问题
- 关于git代码管理的详细操作流程
- JavaScript学习笔记(BOM编程案例)
- Webdriver - webdriver hangs when get or click
- 蓝桥杯 算法训练 - 连续正整数的和 78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。 输入一个正整数 n(<=10000) 输出 m 行(n有m