求助,判断两个Cstring相等,为什么怎么都无效

z350251978 2014-03-29 09:57:43
char buffer[255];
while(fgets(buffer,255,fp)!=NULL)
{
CString strTemp1;
strTemp1.Format(_T("%s"),buffer);
CString strTemp2(_T("[images]"));
if(strTemp1.Compare(strTemp2))==0)
{
fseek(fp,11,SEEK_CUR);
sImagePath.Format(_T("%s"),fgets(buffer,255,fp));
continue;
}
}
想的是按行读取文本,判断行文本为“[images]”时,进入if判断,为什么怎么都判断不了两个Csting相等,==和compare以及strcmp都用过,效果都一样,调试时,监视两个Cstring,都为[images]可就是无法进入if判断,求各位指点!
文本文件如下:
[general]
created=2014-03-27,21:43:21
[images]
image path=I:\basic\102
...全文
503 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
JiMoKuangXiangQu 2014-03-30
  • 打赏
  • 举报
回复
引用 3 楼 FancyMouse 的回复:
fgets的字符串最后有个\n的
++
PDD123 2014-03-30
  • 打赏
  • 举报
回复
对ini文件的操作,有专用的函数,下面是几个常用的: WritePrivateProfileString("Name","Key",value,Path);//原 WritePrivateProfileString("Name","Key",NULL,Path);//清除Key WritePrivateProfileString("Name",NULL,NULL,Path);//清除整个段下所有Key GetPrivateProfileString GetPrivateProfileInt
FancyMouse 2014-03-30
  • 打赏
  • 举报
回复
fgets的字符串最后有个\n的
z350251978 2014-03-29
  • 打赏
  • 举报
回复
多谢,一句话受益匪浅,虽然还没有解决,但是的确发现了一点问题,可能还还是自己太急躁了。
ithiker 2014-03-29
  • 打赏
  • 举报
回复
CString是个什么类,看看它的==,compare函数的源码,单步调试看看看吧

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧