循环

greenweather 2011-03-31 11:05:59

char *p = new char[length+1];
char *beforeLetter = new char[4];
memcpy(beforeLetter, endPos-1, 1, '0');
Trace(g_sTraceFileName, 1, "beforeLetter-------1[%s]\n",beforeLetter);
while(memcmp((char*)beforeLetter, "\\") == 0){
endPos = strstr(endPos+1, m_ftBodyMsg[i].suffix);
memcpy(beforeLetter, endPos-2, 2, '0');
Trace(g_sTraceFileName, 1, "beforeLetter-------2[%s]\n",beforeLetter);
if(memcmp((char*)beforeLetter, "\\\\") == 0){
break;
}
memset(beforeLetter, 0x00, sizeof(beforeLetter));
memcpy(beforeLetter, endPos-1, 1, '0');
Trace(g_sTraceFileName, 1, "beforeLetter-------3[%s]\n",beforeLetter);
if(memcmp((char*)beforeLetter, "\\") != 0){
break;
}
}

循环退不出来,不解。。。。。
...全文
72 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
greenweather 2011-03-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 loaden 的回复:]

引用 4 楼 greenweather 的回复:

beforeLetter最后的值我弄出了不等于"\\"不退出循环。。。。

加个长度的判断,有发帖的时间,单步走一遍,也就该解决了。
[/Quote]
长度判断?
quwei197874 2011-03-31
  • 打赏
  • 举报
回复
没达到退出条件呗.
老邓 2011-03-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 greenweather 的回复:]

beforeLetter最后的值我弄出了不等于"\\"不退出循环。。。。
[/Quote]
加个长度的判断,有发帖的时间,单步走一遍,也就该解决了。
無_1024 2011-03-31
  • 打赏
  • 举报
回复
单步调试
greenweather 2011-03-31
  • 打赏
  • 举报
回复
beforeLetter最后的值我弄出了不等于"\\"不退出循环。。。。
delphiwcdj 2011-03-31
  • 打赏
  • 举报
回复
用一个简单的例子调试一下应该就很快找到了
hhh_hao 2011-03-31
  • 打赏
  • 举报
回复
既然是字符串,就用strcpy
bdmh 2011-03-31
  • 打赏
  • 举报
回复
那你就跟踪看看每一步beforeLetter中都是什么,就那么点长度,还调不出来啊

64,683

社区成员

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

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