C++想从ini文件中读取一整段Section的内容 用GetPrivateProfileSection 这个函数 但是只得到第一行的内容

并没有全部获取到.. 求大神解释
char szStr[1024];
::GetPrivateProfileSection("聊天消息",szStr,1024,"D:\\Msg\\msg.ini");
这样使用函数 有问题么?
还有 我的配置文件
[聊天消息]
commandID:25432
name | string | 4
passwd | int | 4
content | string| 256

调用函数后 szStr 只获取到 commandID:25432 不解
求大神解释。。。

因为:GetPrivateProfileSection()函数是逐行取的
//插入数据
_TCHAR buf[200];
DWORD readlen=::GetPrivateProfileSection(strcection,buf,200,strIniPath);
_TCHAR *pbuf=buf;
size_t size=strlen(pbuf);
int i=0; //i记录总数据行数
while(size) //当取到的行长度不为0时,说明此行存在,继续取值
{
CString str=pbuf;

pbuf+=size+1;
size=strlen(pbuf);
i++;
}
最近刚写的,这样就能取到
但是这样取出来的数据还要分割字符串才能使用
拆字符函数:AfxExtractSubString()
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-27
调用方法没错, 取得的结果缓冲区中, 行之间是用'\0'分隔的, 段结尾是连续的两个'\0'本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网