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

基于C++中sprintf的錯誤總結詳解

 更新時間:2013年05月16日 17:07:37   作者:  
本篇文章是對C++中sprintf的錯誤進行了詳細的分析介紹,需要的朋友參考下
sprintf 是個變參函數,使用時經常出問題,而且只要出問題通常就是能導致程序崩潰的內存訪問錯誤。
下面對sprintf 常出錯誤問題進行簡單的總結:

1、緩沖區(qū)溢出:第一個參數的長度太短了,解決辦法:將第一個參數的長度擴大。打印字符串時,盡量使用”%.ns”的形式指定最大字符數
char buf[5];
sprintf(buf, ":%d", 3246);
printf("buf is %s\n", buf);

將buf修改為char buf[6]

2、忘記第一個參數:原因用printf 用得用習慣了,偶爾會忘記
char buf[6];
sprintf(":%d", 3246);
printf("buf is %s\n", buf);

錯誤提示: error C2664: 'sprintf' : cannot convert parameter 2 from 'int' to 'const char *'

3、變參對應出問題:通常是忘記了提供對應某個格式符的變參,導致以后的參數統(tǒng)統(tǒng)錯位,檢查檢查吧。尤其是對應”*”的那些參數,都提供了嗎?
不要把一個整數對應一個”%s”

char buf[100];
int a=6;
sprintf(buf, ":%d,%s", 3246,a);
printf("buf is %s\n", buf);

溫馨提示:a對應的應該是%d而不是%s
 
4、還有下面這種錯誤,我只能意會不知道怎么來描述?,F在給出錯誤的代碼和正確的代碼的例子。大家自己看吧~~
錯誤的代碼
char buf[15];
char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};
char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};
sprintf(buf, "%s%s", a1, a2); //出現亂碼,得出的結果并非我們所需要的
printf("buf is %s\n", buf);

正確的代碼
char buf[15];
char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};
char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};
sprintf(buf, "%.7s%.7s", a1, a2);//產生:"ABCDEFGHIJKLMN"
printf("buf is %s\n", buf);

相關文章

  • C語言快速掌握位段使用

    C語言快速掌握位段使用

    位段位段的聲明和結構是類似的,但是也會有所不同,此篇文章將帶你了解位段是什么已以及位段的使用和位段的特性,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-09-09
  • 解決不用sizeof求出int大小的方法

    解決不用sizeof求出int大小的方法

    本篇文章是對不用sizeof求出int大小的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 探討編寫int strlen(char *strDest);不允許定義變量的問題

    探討編寫int strlen(char *strDest);不允許定義變量的問題

    本篇文章是對編寫int strlen(char *strDest);不允許定義變量的問題進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C++中的聚合類定義與用法分析

    C++中的聚合類定義與用法分析

    這篇文章主要介紹了C++中的聚合類定義與用法,結合實例形式分析了C++中聚合類的簡單定義、使用方法與相關注意事項,需要的朋友可以參考下
    2017-08-08
  • C++中static修飾符的詳解及其作用介紹

    C++中static修飾符的詳解及其作用介紹

    這篇文章主要介紹了C++中static修飾符的詳解及其作用介紹,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • C++實現掃雷小游戲(控制臺版)

    C++實現掃雷小游戲(控制臺版)

    這篇文章主要為大家詳細介紹了C++實現控制臺版的掃雷小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C++成員函數中const的使用詳解

    C++成員函數中const的使用詳解

    這篇文章主要為大家詳細介紹了C++成員函數中const的使用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C++中繼承(inheritance)詳解及其作用介紹

    C++中繼承(inheritance)詳解及其作用介紹

    這篇文章主要介紹了C++中繼承(inheritance)詳解及其作用介紹,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • C++ STL之slist單向鏈表容器使用方式

    C++ STL之slist單向鏈表容器使用方式

    這篇文章主要介紹了C++ STL之slist單向鏈表容器使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • C語言鏈表實現學生信息管理系統(tǒng)程序設計

    C語言鏈表實現學生信息管理系統(tǒng)程序設計

    這篇文章主要為大家詳細介紹了C語言鏈表實現學生信息管理系統(tǒng)程序設計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評論

苏尼特右旗| 东丰县| 墨玉县| 舒城县| 临漳县| 安吉县| 广元市| 西乡县| 孟津县| 仪陇县| 铁岭县| 安义县| 永寿县| 青州市| 油尖旺区| 达州市| 泸州市| 大足县| 芒康县| 台北市| 吴堡县| 云梦县| 隆子县| 汉阴县| 新营市| 融水| 聂拉木县| 彭山县| 分宜县| 赣榆县| 当雄县| 平江县| 张家川| 宁强县| 兰溪市| 大邑县| 西青区| 东莞市| 信阳市| 杂多县| 罗田县|