用GetPrivateProfileSection如何读某一段的所有键及值。如:
[COMMON]
A=1
B=2
C=3
如何读取[COMMON]段的所有的键及值?
[COMMON]
A=1
B=2
C=3
如何读取[COMMON]段的所有的键及值?
解决方案 »
- 用VC++做发邮件程序的时候出错
- 关于LPWSTR的问题
- 如何使CMFCButton 背景透明啊
- 希望在这里得到实实在在的帮助~
- 怎样打印List控件中的内容,另外List控件的外观怎么设置漂亮一点。就像DataGrid那样???
- cricheditctrl简单问题。为什么richedit不能响应onclick事件。
- 来看看,这两个这样是否是一样的效果?(得到框架指针)
- 请教大虾们 有关跟踪算法的问题?
- 本帖由于某种原因已被和谐
- 求回复啊,这个程序该怎么设计。都进来看看呗
- ss是长度为3的字符数组。 但程序运行时,输入多个字符, 为什么程序不提示错误?
- 请问:我在pb中调用vc写成的dll里的函数出现如下错误,为什么?
就一个Read(),Wirte()搞定!
在www.vckbase.com里就有!
GetPrivateProfilesString()
是GetPrivateProfileString();
GetPrivateProfileString("COMMON","A","",m_szTemp,MAX_PATH,"your.ini");
[a]
b=c;char temp[20];
GetPrivateProfileString("a","b",NULL,temp,20,你的ini路径);
读出来的temp就是c
char szBuffer[256];
GetPrivateProfileSection("COMMON",szBuffer,256,".\\config.ini");
COMMON字段的所有key以及value就会被copy到szBuffer中
但是每一组key以及对应的值是用'\0'也就是00隔开的 所以你还需要自己去按照'\0'来读每段的值
先找"[COMMON]",再读后面的行,遇到"[...]"之类的或文件结束即读完。
读到的内容可以根据'='号来截取。
char *pszTemp=new char[5 * 65536];
GetPrivateProfileString("执行模块名", NULL, "", pszTemp, 5*65536, strIniFile); //先得到段落[执行模块名]下的所有字段名(此处是整数字符串)
//按每一个字段名去读该字段的值并存储在map变量中
nPos=0;
while(1)
{
GetPrivateProfileString("执行模块名", &pszTemp[nPos], "", szTemp, sizeof(szTemp), strIniFile);
mapModuleName[atoi(&pszTemp[nPos])]=string(szTemp);
nPos+=strlen(&pszTemp[nPos]) + 1; //移到下一个字符串开头
if(pszTemp[nPos] == 0)break; //碰到空字符串表示全部结束
}
delete pszTemp;