麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C > 正文

關于strncpy與snprintf的用法

2020-02-24 14:23:42
字體:
來源:轉載
供稿:網友

在學習C語言的時候我們經常會使用strncpy與snprintf,那么你知道strncpy與snprintf的用法有哪些區別嗎?下面武林小編就為大家介紹關于strncpy與snprintf的用法比較。

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. 務必要把dest的最后一個字節手工設置為0. 因為strncpy僅在src的長度小于dest時,對剩余的字節填0.
3.性能問題。當dest長度遠大于src時,由于strncpy會對多余的每個字節填0,會有很大的性能損失。
4.返回值。strncpy返回dest,因而無法知道拷貝了多少個字節。

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

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

上文就是關于strncpy與snprintf的用法比較,大家看完后是不是都明白了呢?接下來我將會去帶來一些其他的與大家分享,歡迎您關注武林技術頻道。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 成人午夜免费看 | 在线成人www免费观看视频 | 亚洲射逼 | 日韩 综合| 亚洲成人福利电影 | 国产成人免费高清激情视频 | 国产午夜精品久久久久婷 | 男女无遮挡羞羞视频 | 亚洲一区二区免费视频 | 一级裸体视频 | 久久精品国产精品亚洲 | 午夜视频在线免费观看 | 精品一区二区三区在线观看视频 | 亚洲综合视频网 | 欧美中文字幕一区二区三区亚洲 | 国产1区2区在线 | av在线观 | 国产成人精品午夜视频' | 美女毛片在线观看 | 欧美片a | 免费男女视频 | 男女无套免费视频 | 日韩精品中文字幕一区二区三区 | 色网站综合 | 午夜精品老牛av一区二区三区 | 亚洲精品a级| 国产亚洲精品久久午夜玫瑰园 | 真人一级毛片免费 | 蜜桃成品人免费视频 | 国内精品久久久久久久久久 | 国产v综合v亚洲欧美久久 | 午夜精品一区二区三区免费 | 九九精品视频免费 | 欧美成人一区二区三区 | 国产成年人视频 | 日本在线看| 高清国产午夜精品久久久久久 | 日韩激情 | 一级黄色毛片子 | 最新se94se在线欧美 | a集毛片|