strcat

茹果伱在 2011-07-15 11:46:43
for(int i=1;i<=5;i++){
char *a;
a = strcat("Cycle", IntToStr(i).c_str());
ShowMessage(a);
}输出的是cycle1 cycle12 Cycle123 Cycle123 4Cycle12345
要怎么改才能输出Cycle1 Cycle2 Cycle3 Cycle4Cycle5
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿发伯 2011-07-15
  • 打赏
  • 举报
回复
妖哥反映比我快多了,呵呵
阿发伯 2011-07-15
  • 打赏
  • 举报
回复
改了一下,没测试:

for(int i=1;i<=5;i++){
char a[100];
strcpy(a, "Cycle");
strcat(a, IntToStr(i).c_str());
ShowMessage(a);
}

LZ的stacat第一个参数的用法很危险,"Cycle"是常量,如果第二个参数的字串长度较长,会使程序崩溃。
ccrun.com 2011-07-15
  • 打赏
  • 举报
回复
#include <stdio.h>

char a[32], b[256];

for (int i = 1; i <= 5; i++)
{
sprintf(a, "Cycle%d ", i);
strcat(b, a);
}

MessageBox(0, b, "", MB_OK);
开始领悟 2011-07-15
  • 打赏
  • 举报
回复
楼主的用法确实不对
ccrun.com 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 maozefa 的回复:]

妖哥反映比我快多了,呵呵
[/Quote]

CSDN最近BUG频发。帖子列表有未结的,有结了的,新帖经常就看不见了,回复也经常看不到。

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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