对于字符串链接strcat有问题

adjust 2003-08-20 10:39:49
char * filename;
char * filehead;
char * fileseq;
char ini[1]="";

filename=ini;

/* 通过其他方法使filehead="hello";fileseq=".txt" */
strcat ( (char *)filename , (const char *)filehead );
printf("%s\n",filename);

strcat ( (char *)filename , (const char *)fileseq );
printf("%s\n",filename);

但是两个输出都是"hello"
我不明白是怎么回事儿,达人说说,253一个 …………
...全文
39 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
李必胜 2003-08-20
  • 打赏
  • 举报
回复
strcat 会把 第一个字符串后面的/0去掉的
ShLikeWater 2003-08-20
  • 打赏
  • 举报
回复
没有给filename分配内存
zjqyb 2003-08-20
  • 打赏
  • 举报
回复
char filename[255];
luohualiushui 2003-08-20
  • 打赏
  • 举报
回复
…………………………
你应该给filename分配足够的内存
adjust 2003-08-20
  • 打赏
  • 举报
回复
那我是不是需要把第一个字符串后面的/0去掉 …………
luohualiushui 2003-08-20
  • 打赏
  • 举报
回复
没有给filename分配内存
遇到第一个/0就结束了
msdn:
The behavior of strcat is undefined if the source and destination strings overlap.

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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