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

strncpy與snprintf 的用法比較

 更新時間:2013年07月25日 09:24:47   作者:  
以下是對strncpy與snprintf的具體用法以及區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下

strncpy的正確用法:
strncpy(dest, src, sizeof(dest));
dest[sizeof(dest)-1] = ‘\0';

snprintf的正確用法:
snprintf(dest, sizeof(dest), "%s", src);

strncpy的問題:
1.size一定要用sizeof(dest)或sizeof(dest)-1,不可誤用sizeof(src).
2.手工填0. 務(wù)必要把dest的最后一個字節(jié)手工設(shè)置為0. 因?yàn)閟trncpy僅在src的長度小于dest時,對剩余的字節(jié)填0.
3.性能問題。當(dāng)dest長度遠(yuǎn)大于src時,由于strncpy會對多余的每個字節(jié)填0,會有很大的性能損失。
4.返回值。strncpy返回dest,因而無法知道拷貝了多少個字節(jié)。

snprintf的問題:
1.不可省略第三個參數(shù)"%s",隱患是,如果src中包含%,會引發(fā)core。
2.性能問題。當(dāng)src長度遠(yuǎn)大于dest時,由于snprintf要返回src的字節(jié)數(shù),需要掃描src,會有很大的性能損失。
3.返回值。如果當(dāng)前buf夠用,返回實(shí)際寫入的字符數(shù);如果不夠用,返回將要寫入的字符數(shù)。換句話說,返回值就是傳入的字符數(shù)目。

總結(jié):
1.snprintf使用比strncpy簡潔。
2.snprintf可以獲取被拷貝的字節(jié)數(shù)。
3.二者都有性能問題。如果src遠(yuǎn)大于dest,用strncpy;如果dest遠(yuǎn)大于src,用snprintf。

相關(guān)文章

  • C語言編寫漢諾塔游戲

    C語言編寫漢諾塔游戲

    這篇文章主要介紹了C語言編寫漢諾塔游戲,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11
  • 利用C語言編輯畫圖程序的實(shí)現(xiàn)方法(推薦)

    利用C語言編輯畫圖程序的實(shí)現(xiàn)方法(推薦)

    下面小編就為大家?guī)硪黄肅語言編輯畫圖程序的實(shí)現(xiàn)方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • C語言實(shí)現(xiàn)宿舍管理系統(tǒng)設(shè)計(jì)

    C語言實(shí)現(xiàn)宿舍管理系統(tǒng)設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)宿舍管理系統(tǒng)設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 一文搞懂C++中繼承的概念與使用

    一文搞懂C++中繼承的概念與使用

    我們都知道面向?qū)ο笳Z言的三大特點(diǎn)是:**封裝,繼承,多態(tài)。**之前在類和對象部分,我們提到了C++中的封裝,那么今天呢,我們來學(xué)習(xí)一下C++中的繼承
    2022-07-07
  • C++ 中Vector常用基本操作

    C++ 中Vector常用基本操作

    標(biāo)準(zhǔn)庫vector類型是C++中使用較多的一種類模板,本文給大家分享C++ 中Vector常用基本操作,感興趣的朋友一起看看吧
    2017-10-10
  • C++ OpenCV實(shí)戰(zhàn)之形狀識別

    C++ OpenCV實(shí)戰(zhàn)之形狀識別

    本案例通過使用OpenCV中的approxPolyDP進(jìn)行多邊形近似,進(jìn)而進(jìn)行基礎(chǔ)形狀識別(圓、三角形、矩形、星形…),快跟隨小編一起動手嘗試一下
    2022-07-07
  • QT中QChart繪制折線圖

    QT中QChart繪制折線圖

    本文主要介紹了QChart繪制折線圖,Qt Charts基于Qt的Graphics View架構(gòu),其核心組件是QChartView 和 QChart,感興趣的可以了解一下
    2022-04-04
  • C++常用字符串分割方法實(shí)例匯總

    C++常用字符串分割方法實(shí)例匯總

    這篇文章主要介紹了C++常用字符串分割方法實(shí)例匯總,包括了strtok函數(shù)、STL、Boost等常用的各類字符串分割方法,非常具有實(shí)用價值,需要的朋友可以參考下
    2014-10-10
  • C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)

    C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)飛機(jī)訂票系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • c語言 字符串的拼接和分割實(shí)例

    c語言 字符串的拼接和分割實(shí)例

    今天小編就為大家分享一篇c語言 字符串的拼接和分割實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論

恩施市| 河曲县| 南充市| 富平县| 德州市| 宁陕县| 巍山| 博客| 苏尼特左旗| 读书| 武乡县| 钦州市| 宣威市| 万载县| 镶黄旗| 乡城县| 佳木斯市| 肃南| 明光市| 勐海县| 抚宁县| 贵溪市| 怀来县| 同德县| 得荣县| 承德县| 杨浦区| 紫云| 晴隆县| 仙桃市| 安塞县| 新巴尔虎右旗| 金湖县| 甘泉县| 聂拉木县| 扬中市| 上高县| 洛南县| 元朗区| 无为县| 吉安县|