最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C/C++字符串函數(shù)之復(fù)制函數(shù)詳解

 更新時(shí)間:2016年09月04日 11:43:02   投稿:jingxian  
下面小編就為大家?guī)硪黄狢/C++字符串函數(shù)之復(fù)制函數(shù)詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

突然發(fā)現(xiàn)對字符串函數(shù)缺乏系統(tǒng)的了解,所以花了一點(diǎn)時(shí)間專門整理下,在此記錄之,以方便自己及有需要的人使用。

C/C++字符串函數(shù)的頭文件:string.h

復(fù)制函數(shù)主要有4個(gè),如下:

1、char * strcpy(char* destination,const char * source);

2、char* strncpy(char* destination,const char* source,size_t num);

3、void * memcpy(void* destination,const void* source,size_t num);

4、void * memmove(void* destination,const void* source,size_t num);

功能及用法說明:

1、strcpy:將由source指針指示的C 字符串(包括結(jié)尾字符)復(fù)制到destination指針指示的區(qū)域中。該函數(shù)不允許source和destination的區(qū)域有重疊,同時(shí),為了避免溢出,destination區(qū)域應(yīng)該至少和source區(qū)域一樣大。

2、strncpy:復(fù)制source的前num字符到destination。如果遇到null字符('\0'),且還沒有到num個(gè)字符時(shí),就用(num - n)(n是遇到null字符前已經(jīng)有的非null字符個(gè)數(shù))個(gè)null字符附加到destination。注意:并不是添加到destination的最后,而是緊跟著由source中復(fù)制而來的字符后面。下面舉例說明:

char des[] = "Hello,i am!";

char source[] = "abc\0def";

strncpy(des,source,5);

此時(shí),des區(qū)域是這樣的:a,b,c,\0,\0,i,空格,a,m,! 

\0,\0并不是添加在!的后面。

這里,需要注意strcpy僅僅復(fù)制到null字符就結(jié)束了。

3、memcpy:將source區(qū)域的前num個(gè)字符復(fù)制到destination中。該函數(shù)不檢查null字符(即將null字符當(dāng)作普通字符處理),意味著將復(fù)制num個(gè)字符才結(jié)束。該函數(shù)不會(huì)額外地引入null字符,即如果num個(gè)字符中沒有null字符,那么destination中相應(yīng)字符序列中也沒有null字符。同strcpy的區(qū)別:允許將source中null字符后面的字符也復(fù)制到destination中,而strcpy和strncpy則不可以。

4、memmove:同memcpy完成同樣的功能,區(qū)別是,memmove允許destination和source的區(qū)域有重疊。而其他三個(gè)函數(shù)不允許。

例子:

char str[] = "This is a test!";

memmove(str+2,str+10,4);

此時(shí),str變成:Thtests a test!

以上這篇C/C++字符串函數(shù)之復(fù)制函數(shù)詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++中function的實(shí)現(xiàn)原理詳解

    C++中function的實(shí)現(xiàn)原理詳解

    類模版std::function是一種通用、多態(tài)的函數(shù)封裝。function的實(shí)例可以對任何可以調(diào)用的目標(biāo)實(shí)體進(jìn)行存儲(chǔ)、復(fù)制、和調(diào)用操作。本文主要聊聊它的實(shí)現(xiàn)原理,需要的可以參考一下
    2022-12-12
  • Qt4和Qt5的信號(hào)和槽的使用區(qū)別

    Qt4和Qt5的信號(hào)和槽的使用區(qū)別

    本文主要介紹了Qt4 和 Qt5 的信號(hào)和槽的連接 connect 與斷開 disconnect 區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C語言算法練習(xí)之折半查找的實(shí)現(xiàn)

    C語言算法練習(xí)之折半查找的實(shí)現(xiàn)

    二分查找法(也叫折半查找)其本質(zhì)是分治算法的一種。這篇文章主要介紹了如何利用C語言實(shí)現(xiàn)折半查找,感興趣的小伙伴可以學(xué)習(xí)一下
    2022-05-05
  • C語言二叉樹常見操作詳解【前序,中序,后序,層次遍歷及非遞歸查找,統(tǒng)計(jì)個(gè)數(shù),比較,求深度】

    C語言二叉樹常見操作詳解【前序,中序,后序,層次遍歷及非遞歸查找,統(tǒng)計(jì)個(gè)數(shù),比較,求深度】

    這篇文章主要介紹了C語言二叉樹常見操作,結(jié)合實(shí)例形式詳細(xì)分析了基于C語言的二叉樹前序,中序,后序,層次遍歷及非遞歸查找,統(tǒng)計(jì)個(gè)數(shù),比較,求深度等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-04-04
  • C語言新手入門速通手冊

    C語言新手入門速通手冊

    C 語言是一種通用的、面向過程式的計(jì)算機(jī)程序設(shè)計(jì)語言。1972 年,為了移植與開發(fā) UNIX 操作系統(tǒng),丹尼斯·里奇在貝爾電話實(shí)驗(yàn)室設(shè)計(jì)開發(fā)了 C 語言。C 語言是一種廣泛使用的計(jì)算機(jī)語言,它與 Java 編程語言一樣普及,二者在現(xiàn)代軟件程序員之間都得到廣泛使用
    2022-04-04
  • c++11中的noexcept關(guān)鍵字

    c++11中的noexcept關(guān)鍵字

    這篇文章主要介紹了c++11中的noexcept關(guān)鍵字,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 用C語言完整實(shí)現(xiàn)2048游戲

    用C語言完整實(shí)現(xiàn)2048游戲

    2048是一款數(shù)字益智游戲,初始數(shù)字則是由2+2組成的基數(shù)4。在操作方面的不同則表現(xiàn)為一步一格的移動(dòng),變成更為爽快的一次到底。相同數(shù)字的方?jīng)r在靠攏、相撞時(shí)會(huì)相加。系統(tǒng)給予的數(shù)字方塊不是2就是4,玩家要想辦法在這小小的16格范圍中湊出2048這個(gè)數(shù)字方塊
    2021-11-11
  • 利用C++制作人生模擬器游戲的示例代碼

    利用C++制作人生模擬器游戲的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用C++制作一個(gè)當(dāng)下很火的人生模擬器游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-05-05
  • 詳解在C++中顯式默認(rèn)設(shè)置的函數(shù)和已刪除的函數(shù)的方法

    詳解在C++中顯式默認(rèn)設(shè)置的函數(shù)和已刪除的函數(shù)的方法

    這篇文章主要介紹了在C++中顯式默認(rèn)設(shè)置的函數(shù)和已刪除的函數(shù)的方法,文中講到了C++11標(biāo)準(zhǔn)中的新特性,需要的朋友可以參考下
    2016-01-01
  • C++多字節(jié)字符與寬字節(jié)字符相互轉(zhuǎn)換

    C++多字節(jié)字符與寬字節(jié)字符相互轉(zhuǎn)換

    最近在C++編程中經(jīng)常遇到需要多字節(jié)字符與寬字節(jié)字符相互轉(zhuǎn)換的問題,自己寫了一個(gè)類來封裝wchar_t與char類型間的轉(zhuǎn)換
    2012-11-11

最新評論

曲沃县| 沙河市| 泽库县| 盐山县| 福海县| 新闻| 广西| 静海县| 衡东县| 沙洋县| 五台县| 北碚区| 道孚县| 察哈| 云阳县| 苏尼特右旗| 昌邑市| 鹿邑县| 博客| 普陀区| 舟山市| 稻城县| 高陵县| 繁峙县| 朝阳市| 昭通市| 黔东| 榆树市| 长白| 阿坝县| 铅山县| 达州市| 德令哈市| 大连市| 海兴县| 桂平市| 南宁市| 宁阳县| 兖州市| 正定县| 太原市|