并没有全部获取到.. 求大神解释
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()
//插入数据
_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'本回答被提问者和网友采纳