亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

strcpy函數

如果s1長度為100,s2長度為20,那么strcpy(s1,s2)長度為多少

正在回答

4 回答

strcpy(char?*dest,?const?char?*src)

這個函數把src字符串中的字符(包括結尾的'\0')拷貝到dest所指的內存中。

要注意的是:要拷貝到s2中的'\0'字符才會停止,所以如果dest容納不了這么多的字符,那么dest中的字符串可能不是'\0'結尾。

例子:

char?s2[20];?//?假設里面有19個字符(結尾是一個'\0')
char?s1[100];
srtcpy(s1,?s2);

現在s1的前20個字符就是s2中的19個字符和結尾的一個'\0'。而s1中剩余部分中的原有內容不會改變。

0 回復 有任何疑惑可以回復我~
#1

Dream丶OP 提問者

剩余內容是空格呢
2015-01-26 回復 有任何疑惑可以回復我~
#2

onemoo 回復 Dream丶OP 提問者

你是指s1中剩余的是空格嗎?strcpy函數只是從s2中的第一個字符開始復制,直到'\0'結束復制。將這些字符(包括'\0')放入s1所指的位置(這里s1是字符數組),strcpy完全不管s1后面是什么,也不會改變它們。 所以在這個例子中,s1中從第21個到第100個字符不會有變化。 但是請注意:這時strlen(s1)會得到19,因為字符串永遠是將'\0'判斷為結尾的。所以s1作為一個數組,它含有100個字符。但作為一個字符串,它只含有19個字符。
2015-01-27 回復 有任何疑惑可以回復我~
#3

Dream丶OP 提問者

非常感謝!
2015-01-29 回復 有任何疑惑可以回復我~

樓上說的時錯的 strcpy是拷貝函數 將2字符復制給1 s1中剩余內容全都除去

1 回復 有任何疑惑可以回復我~

前邊比后邊的字符串大(s1 > s2)不用想,?長度為s2的長度(字符型一直到s2中得\0結束) ?

0 回復 有任何疑惑可以回復我~

如果是 char s1[100]=""; char s2[20]="";這樣的話strcpy(s1,s2)之后,s1的長度為0

如果是s2中有內容的話,那么就是以s2的長度為準

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       926904    人
  • 解答問題       21532    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

strcpy函數

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號