關於c語言拷貝函數的隨筆

來源:互聯網
上載者:User

 

今天工作上要用到這些函數,稍微理解了一下這些函數的分別,寫一篇簡短的隨筆:

1、char *strcpy(char *dest, char *src); 這個函數把src所指由'\0'結束的字串複製到dest所指的數組中。 src和dest所指記憶體地區不可以重疊且dest必須有足夠的空間來容納src的字串。 當src串長度>dest串長度時,程式仍會將整個src串複製到dest地區,可是dest數組已發生溢出。

2、char * strncpy(char *dest, char *src, size_t,n); 將字串src中最多n個字元複製到字元數組dest中(它並不像strcpy一樣遇到NULL才停止複製,而是等湊夠n個字元才開始複製),返回指向dest的指標。

3、void *memcpy(void *dest, const void *src, size_t n);由src指向地址為起始地址的連續n個位元組的資料複製到以dest指向地址為起始地址的空間內。.source和destin所指記憶體地區不能重疊,函數返回指向destin的指標。 與strcpy相比,memcpy並不是遇到'\0'就結束,而是一定會拷貝完n個位元組。 如果目標數組destin本身已有資料,執行memcpy()後,將覆蓋原有資料(最多覆蓋n)。如果要追加資料,則每次執行memcpy後,要將目標數組地址增加到你要追加資料的地址。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.