| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 753 人关注过本帖
标题:請問區別在何方!
取消只看楼主 加入收藏
guochen3
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-1-16
收藏
 问题点数:0 回复次数:2 
請問區別在何方!
請問下面幾個函數的區別在哪裡: stpcpy 和strcpy .
能否給個例子說明一下。
我用的是下面的例子。
#include<stdio.h>
main()
{ char *s="Golden Global View"; char d[20]; clrscr(); stpcpy(d,s);
printf("%s",d); getchar(); return 0; }
#include<stdio.h>
main()
{ char *s="Golden Global View"; char d[20]; clrscr(); strcpy(d,s);
printf("%s",d); getchar(); return 0; }
搜索更多相关主题的帖子: include return 
2006-05-26 09:55
guochen3
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-1-16
收藏
得分:0 
請問各位:
有沒有好點的有關C語言方面的書和電子文檔下載地址告訴一下。
有時遇到難題真不知去哪裡查資料。也不知查什麼資料,現在的書
很多都是..........

雖然我很菜,但我永不言放棄。
2006-05-26 15:57
guochen3
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-1-16
收藏
得分:0 

我要發問了。
為什麼stpcpy(stpcpy(d,s1),s2);
顯示的不是123456789abcdef而是
6789abcdef.因為他返回的地址是
d+strlen(s)
第一次運行stpcpy(d,s1),時就把d的內容覆蓋了
第二次運行stpcpy(d,s2),時就應該也把d的內容覆蓋呀。
如果不是覆蓋那他就和strcat一樣才是呀。比如:
main()
{ char *s1="6789a",*s2="bcdef";
char d[20]="12345";
stpcpy(d,s1);getch();printf("%s",d);
stpcpy(d,s2);

printf("%s\n",d);
getchar();
return 0;
}和
main()
{ char *s1="6789a",*s2="bcdef";
char d[20]="12345";
strcpy(d,s1);getch();printf("%s",d);
strcpy(d,s2);

printf("%s\n",d);
getchar();
return 0;
}結果一樣。


雖然我很菜,但我永不言放棄。
2006-05-26 16:29
快速回复:請問區別在何方!
数据加载中...
 
   



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

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