C++想从ini文件中读取一整段Section的内容 用GetPrivateProfileSection 这个函数 但是只得到第一行的内容
并没有全部获取到..求大神解释charszStr[1024];::GetPrivateProfileSection("聊天消息",szStr,1024,"D:\\Msg\...
并没有全部获取到.. 求大神解释
char szStr[1024];
::GetPrivateProfileSection("聊天消息",szStr,1024,"D:\\Msg\\msg.ini");
这样使用函数 有问题么?
还有 我的配置文件
[聊天消息]
commandID:25432
name | string | 4
passwd | int | 4
content | string| 256
调用函数后 szStr 只获取到 commandID:25432 不解
求大神解释。。。 展开
char szStr[1024];
::GetPrivateProfileSection("聊天消息",szStr,1024,"D:\\Msg\\msg.ini");
这样使用函数 有问题么?
还有 我的配置文件
[聊天消息]
commandID:25432
name | string | 4
passwd | int | 4
content | string| 256
调用函数后 szStr 只获取到 commandID:25432 不解
求大神解释。。。 展开
2个回答
展开全部
因为: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()
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询