• <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 小明 閱讀(3040) 評論(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為參數的非可變參數的函數。
            兩者很不同。

            国产精品久久久久久福利69堂| 久久久WWW成人免费毛片| 午夜精品久久久久久毛片| 久久婷婷五月综合97色一本一本| 久久久久99精品成人片试看| 精品乱码久久久久久夜夜嗨| 久久精品国产亚洲AV不卡| 国内精品久久久久久野外| 人妻丰满?V无码久久不卡| 久久久久久九九99精品| 国产精品亚洲美女久久久| 婷婷久久香蕉五月综合加勒比| 中文字幕成人精品久久不卡| 亚洲日韩欧美一区久久久久我| 久久99国产综合精品免费| 色综合久久久久综合99| 久久香蕉国产线看观看乱码| 久久久久久国产精品美女| 国产精品免费久久| 久久91精品国产91久久户| 久久综合久久美利坚合众国| 亚洲国产成人久久精品影视| 中文字幕久久久久人妻| 久久亚洲国产精品123区| 国产高潮国产高潮久久久91| 久久精品人人做人人妻人人玩| 亚洲人成无码网站久久99热国产 | 一本色综合久久| 国产99久久久国产精免费| 国产精品免费福利久久| 久久国产乱子伦免费精品| 久久综合给合久久狠狠狠97色69| 伊人久久大香线蕉亚洲| 中文字幕久久波多野结衣av| 亚洲精品无码久久久久AV麻豆| 久久久久久久亚洲精品| 久久精品成人影院| 亚洲欧美国产精品专区久久 | 91精品国产综合久久香蕉 | 中文国产成人精品久久亚洲精品AⅤ无码精品 | 婷婷久久久亚洲欧洲日产国码AV|