/*strcpy(s1,s2);strcpy函數的意思是:把字符串s2中的內容copy到s1中,連字符串結束標志也一起copy.
這樣s1在內存中的存放為:ch\0;
在cout<<s1<<endl時,結果為ch;事實上,在內存里面是這樣的存儲結構:ch\0na
如果說s1的長度是6,那是錯誤的.你沒有弄清strlen與sizeof的意思。
strlen函數的意思是測試字符串的字符長度,不含字符串結束標志的。
sizeof是個運算符,它的結果是字符串在內存中的所占字節大小,它要把\0算進去的。
strcpy函數原型1
char * strcpy(char *a,char *b)
{ while((*(a++)=*(b++))!=0);return a;}
strcpy函數原型2
char *strcpy(char *strDest, const char *strSrc);//strDest為目標,strSrc為源
{
assert((strDest!=NULL) && (strSrc !=NULL)); //如果兩個為空則不用復制,直接中止
char *address = strDest; //用address指向strDest開始地址
while( (*strDest++ = * strSrc++) != ‘\0’ ) //復制,直到源串結束;
NULL ; //空操作
return address ; //返回strDest開始地址
}
}//就這個算法看來是多余.
*/
#include <iostream>
using namespace std;
int main(int argc,char *argv[])
{
char s1[6]="china" ,s2[3]="ch";
cout<<s1<<endl;//china
cout<<strlen(s1)<<endl; //5
cout<<sizeof(s1)<<endl;//6
strcpy(s1,s2);
cout<<s1<<endl;//ch
/*以下循環指出了ctrcpy的復制原理 輸出結果為ch na注意中間是空格*/
for (int i=0;i<5;i++)
{
cout<<s1[i]<<endl;
}
cout<<strlen(s1)<<endl;//2
cout<<sizeof(s1)<<endl; //6
return 0;
}
看完上述內容,你們對如何正確的使用strcpy函數有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注本站行業資訊頻道,感謝大家的支持。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
嘉實優質基金投資目的是怎樣的?該款基金是力爭為基金份額持有人創造較為長期并且超額的收益,但是優質基金一般投資的都是一些優質的企業,從而可以獲得較為長期的回報,并且基金公司對購買基金的配額進行一定的配置有效的管理風險,在企業的內部,會有一定的制度,并且由足夠的人力以及資產的管理資源,并且進行有效的配置,該公司的執行能力,展戰略是非常清晰的。該公司的盈利方向主要是企業的價值超過市場水平,并且存在持續增...
(資料圖片僅供參考)隨著社會越來越發達,大家都選擇在網絡上汲取相關知識內容,比如國際互聯網的奇妙之處有哪些,為了更好的解答大家的問題,小編也是翻閱整理了相應內容,下面就一起來看一下吧!1、足不出戶獲取海量國內外信息:了解國內外的時事消息、娛樂新聞、資源分享廣泛,信息傳播速度快等;2、隨時隨地與人交流:可以在短短幾分鐘內從一個國家到另一個國家傳遞聲音;3、可以通過互聯網創業;4、生活方式多樣化:可以...
據悉,集度首位數字人車主“希加加”目前亮相,該虛擬車主與汽車機器人進行交流互動。希加加,是百度集團推出的AI數字人。作為首個實現AIGC的數字虛擬偶像,希加加可以進行AI思維創作,實現AI剪輯、AI作畫、AI作曲等。希加加的樣子、名字、服裝、發型妝容等均由AI技術生成,具有語言、面部表情和肢體動作表達能力,能夠像人一樣對話、行動,可進行自主迭代,通過AI快速獲得唱歌跳舞的功...