免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1423 | 回复: 9
打印 上一主题 下一主题

一个很弱的问题:关于strcat [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-08-26 19:34 |只看该作者 |倒序浏览
我想把一个字符数组,里边的字符一个个连接到另一个字符数组,
可是我用strcat却不行,刚刚才开始C,请大家帮忙阿!

我的第一个字符数组是,
char des[40]="abc_";
第二个是:
char src[16]="2003-08-26 19"

我想把des的内容变成"abc_2003082619"
该怎么作?
我用
for(i=0;i<13;i++)
  strcat(des,src);

不行!
另外,我用char des[40]="abc_";
也不被允许,为什么,我该怎么改?
或者,大虾们有更好的方法!

论坛徽章:
0
2 [报告]
发表于 2003-08-26 20:52 |只看该作者

一个很弱的问题:关于strcat

如果是一个一个连就不需要用strcat了,直接赋值就可以,写个循环把不是'-'和' '的字符一个个连到des后面就行了.
     如果用strcat是把两个字符串直接拼起来,不过在拼之前你要先处理src字符串为:2003082619,然后strcat(des,src)就可以了.

论坛徽章:
0
3 [报告]
发表于 2003-08-26 21:16 |只看该作者

一个很弱的问题:关于strcat

char des[] = "abc_";

论坛徽章:
0
4 [报告]
发表于 2003-08-27 00:01 |只看该作者

一个很弱的问题:关于strcat

在solaris中,這樣也可以通過。
   char a[4] = "abc";
    strcat(a,"edf";
    那麽這個a的空間怎麽改變的呢?

论坛徽章:
0
5 [报告]
发表于 2003-08-27 08:57 |只看该作者

一个很弱的问题:关于strcat

楼上这位太中侥幸:
你试试这个:

  1. #include <stdio.h>;
  2. #include <stdlib.h>;

  3. int main(int argc, char *argv[])
  4. {
  5.         char a[4] = "abc";
  6.         strcat(a,"1111111111111111111111111111111111111edf");
  7.        
  8.         printf("%s\n", a);
  9.        
  10.         return 1;
  11. }
复制代码

这类问题讨论过很多次了!

论坛徽章:
0
6 [报告]
发表于 2003-08-27 12:47 |只看该作者

一个很弱的问题:关于strcat

樓上的說的很對,一試果然報錯核心錯誤。我試了一下輸出長度,
發現,如果連接后strlen(a) < = 7,就不會出問題。一旦>;=8,就報錯。
這是爲什麽呢?
   接著我又嘗試了一下,
  char a[5] = "abc";
   strcat(a,"aaabsbsbsbsbsb...";
   此時a 能接受的最大長度限度為27,超過27就報錯。
  這是什麽原因呢?
  跟内存空間分配有關係嗎?
  結果又試了一下a[6];居然跟a[5]容忍度一樣。

论坛徽章:
0
7 [报告]
发表于 2003-08-27 14:26 |只看该作者

一个很弱的问题:关于strcat

偶然而以,建议看看以前帖子,讨论过N次了~~

论坛徽章:
0
8 [报告]
发表于 2003-08-27 18:36 |只看该作者

一个很弱的问题:关于strcat

不好意思。我是新來的。還沒有來得及看呢。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2003-08-27 20:40 |只看该作者

一个很弱的问题:关于strcat

man  strcat

论坛徽章:
0
10 [报告]
发表于 2003-08-28 10:36 |只看该作者

一个很弱的问题:关于strcat

其实在C里,对于字符串的操作,只要记住两点:一是要分配充足的内存空间可以存放字符串。第二就是要记住一定要在字符串的结尾处置一个'\0'。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP