| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1734 人关注过本帖
标题:前辈们请留步 (任意长度)字符串连接怎么实现
只看楼主 加入收藏
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
楼上的兄弟,你的s要是正好指在一片空白的内存的开始,还可以;但是它要是指在了存有数据的内存段的开始,那就麻烦了.

c语言的动态分配内存可不是鸡肋阿!

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-29 16:00
sjzfmyxc
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-2-29
收藏
得分:0 
回复 10# shengyi912 的帖子
谢谢了......                 while循环条件是不是应该为*s!=0和*string!=0a啊......
2008-05-29 16:18
sjzfmyxc
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-2-29
收藏
得分:0 
回复 11# mqh21364 的帖子
那在为变量分配内存空间时,是不是从空白的内存开始的呢......
2008-05-29 16:30
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
回复 7# sjzfmyxc 的帖子
是吗?
strcpy(s2+strlen(s2),s1);

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-29 17:30
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
回复 13# sjzfmyxc 的帖子
为变量分配内存的时候当然是空白的了,但是你不能保证在其后面的n个空间都是空白的阿.

而且,你那样写除了tc,别的编译器都不支持.

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-29 17:50
sjzfmyxc
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-2-29
收藏
得分:0 
回复 14# StarWing83 的帖子
什么意思?
2008-06-01 10:33
sjzfmyxc
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-2-29
收藏
得分:0 
回复 15# mqh21364 的帖子
TC也不支持啊
2008-06-01 10:54
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
VC 下编译通过
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main()
{

    char *s=(char *)malloc(30*sizeof(char));
    char *h="dadadf";
    char *d = "dadadada";
      
    *s = 0;
    printf("%s\n",s);
    strcat(s,h);
    printf("%s\n",s);
    strcpy(s+strlen(s),d); // 法一:使用strcpy
    printf("%s\n",s);
    strcat(s,d);          // 法二:使用strcat
    printf("%s\n",s);

}
2008-06-02 12:23
快速回复:前辈们请留步 (任意长度)字符串连接怎么实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015466 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved