一 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文件函数相关推荐

  1. VC中操作INI文件的API

    VC中操作INI文件的API (1)操作系统配置文件Win.ini的函数: 函数名 功能 GetProfileSection 读取win.ini中指定节lpAppName中所有键名及其值.lpRetu ...

  2. VC中读写ini文件

    我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAP ...

  3. VC++中实现INI文件读写的方法和示例

    一:读ini配置文件 DWORD GetPrivateProfileString(LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpDefault, LP ...

  4. VC操作INI文件 ,INI文件操作总结,如何操作INI文件,INI文件使用方法小结

    INI文件简介 在我们写程序时,总有一些配置信息需要保存下来,以便在下一次启动程序完成初始化,这实际上是一种类持久化.将一些信息写入INI文件(initialization file)中,可完成简单的 ...

  5. MFC操作ini文件方法

    转载:https://blog.csdn.net/rayborn1105/article/details/8192142 在我们的程序设计中经常需要对一些参数进行配置,配置好后还要在下一次启动仍然有效 ...

  6. VC中使用低级音频函数WaveX播放声音文件

    文章摘要: 本文讨论并实现了在VC++中使用低级音频函数WaveX播放声音文件的方法. -------------------------------------------------------- ...

  7. VC++中操作XML(MFC、SDK)

    VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作 ...

  8. C#中读写INI文件

    INI文件就是扩展名为"ini"的文件.在Windows系统中,INI文件是很多,最重要的就是"System.ini"."System32.ini&q ...

  9. 轻松实现一个操作ini文件的类

    作者:lixiaosan(CSDN) 前言: 相信很多朋友在编写自己的程序中,都需要把一些数据先期导入到程序中进行初始化.那么这个时候,比较好的做法就是把你所有的数据写入一个ini文件,然后在程序去读 ...

最新文章

  1. java在jsp中判断td的值是1还是2_Snap7,Eel与S71200简单组态1
  2. LeetCode Count and Say
  3. android4.2添加重启菜单项
  4. 高并发编程-Thread#interrupt用法及源码分析
  5. golang 关闭gc 并手动gc_Golang 大杀器之跟踪剖析 trace
  6. c#启动EXE文件(简单的)
  7. MFC对话框中的工具栏、状态栏设计小结
  8. java之InetAddress类和InetSocketAddress的使用
  9. spotify 数据分析_我的Spotify流历史分析
  10. scrollTop 用法说明
  11. petshop学习笔记(1)
  12. zedboard的DDR3型号MT41K128M16HA
  13. 简单瀑布流-jquery实现
  14. linq to sql取出随机记录/多表查询/将查询出的结果生成xml
  15. 离散数学_电子科大王丽杰
  16. Chrome应用商店打不开问题
  17. 关于git代码管理的详细操作流程
  18. JavaScript学习笔记(BOM编程案例)
  19. Webdriver - webdriver hangs when get or click
  20. 蓝桥杯 算法训练 - 连续正整数的和 78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。   输入一个正整数 n(<=10000)   输出 m 行(n有m

热门文章

  1. 读书笔记——社会心理学——关系理论
  2. Python 绘制柱状图和双柱状图
  3. 目前最火的人工神经网络,神经网络未来发展趋势
  4. 零基础怎么学Python?要学多久?
  5. 使用Vue实现数据可视化大屏功能(二)
  6. E1、CE1、T1、PRI、BRI知识介绍和配置
  7. 安卓虚拟键盘_这是第一台安卓手机,当年谷歌和 HTC 靠它正面刚苹果
  8. h5游戏接入googleplay时遇到的问题总结
  9. 中国AR行业专题研究报告
  10. 重学React基础知识整理(二)