• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            小明思考

            高性能服務器端計算
            posts - 70, comments - 428, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            printf的wrapper

            Posted on 2007-10-12 14:13 小明 閱讀(3049) 評論(0)  編輯 收藏 引用 所屬分類: C/C++

            有個朋友問到我為什么下面的代碼會打印出來亂碼

             1 #include <stdio.h>
             2 #include <stdarg.h>
             3 
             4 void myprint(char* format, )
             5 {    
             6     va_list mark;    
             7     va_start(mark, format);    
             8     printf(format, mark); //應該被替換成vprintf
             9     va_end(mark);
            10 }
            11 int main()
            12 {
            13     myprint("hello %s\n","abcd");
            14     return 0;
            15 }
            16 

            問題就出現在第8行的printf的使用上,這里實際上應該使用vprintf

            printf和vprintf的定義:

            int printf( const char *format ,... );
            int vprintf(   const char* format, va_list argptr);

            可以看出printf是接受可變參數的函數,而vprintf是一個接受一個va_list為參數的非可變參數的函數。
            兩者很不同。

            亚洲精品国精品久久99热一| 久久精品国产亚洲av水果派| 久久国产乱子伦精品免费午夜| 国内精品久久久久久久coent| 午夜视频久久久久一区| 久久大香萑太香蕉av| 久久超碰97人人做人人爱| 精品乱码久久久久久夜夜嗨| 无码八A片人妻少妇久久| www.久久精品| 亚洲欧洲精品成人久久曰影片 | 一级做a爰片久久毛片看看| 久久婷婷五月综合色高清| 国产99久久九九精品无码| 欧美日韩精品久久久久| 伊人久久大香线蕉精品| 伊人久久综合成人网| 国产99久久久国产精免费| 久久久无码人妻精品无码| 欧美性大战久久久久久| 久久se精品一区精品二区| 久久精品成人欧美大片| 精品国产青草久久久久福利| 精品久久久噜噜噜久久久 | 久久国产精品成人免费| 伊人久久大香线蕉av一区| 久久嫩草影院免费看夜色| 99久久免费国产精品热| 亚洲欧美伊人久久综合一区二区| 九九久久精品无码专区| 久久国产精品-国产精品| 99久久无码一区人妻a黑| 99久久精品国产一区二区| 久久亚洲精品国产精品婷婷 | 亚洲日韩中文无码久久| 久久久久久久久久久精品尤物 | 久久乐国产精品亚洲综合| 精品久久久久久国产三级| 国产 亚洲 欧美 另类 久久| 精品久久久久久国产91| 久久综合久久久|