• <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>
            隨筆 - 15  文章 - 5  trackbacks - 0
            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            搜索

            •  

            最新評論

            • 1.?re: 2011年9月26日[未登錄]
            • 我不是吹噓,為什么1,2,3,4,5,7,9,10,11,12我都知道一點????
              看來我估計可以過電面啊~_~
            • --ZJ
            • 2.?re: 2011年9月26日
            • 有計劃的人生會很精彩。。
            • --Cheap glueless lace front wigs
            • 3.?re: 2011年9月26日
            • (14)舉個例子說明你學習能力比較強,
              牛!

              那個騰訊就是做QQ的吧,QQ里面還內嵌個木馬,有事沒事的掃描下用戶磁盤,唉,公司技術就這鳥水平,還對應聘者提那么多要求。
            • --Chipset
            • 4.?re: 2011年9月26日
            • 問這么多問題,要求不低啊,呵呵,要回答好需要很扎實的基礎
            • --LoveBeyond
            • 5.?re: 2011年9月26日
            • 這些問題我十有八九答不上來...慚愧啊
            • --pezy

            閱讀排行榜

            評論排行榜

            首先我們在MSDN看一下printf的原型和sprintf的原型

            int printf( const char *format [, argument]... );

            int sprintf( char *buffer, const char *format [, argument] ... );
            從定義來看兩者的功能其實很相似的。
            如果你接觸的控制臺的程序較多的話,見到printf的比較多,printf函數打印結果到屏幕上,而sprintf函數可以完成其他數據類型轉換為字符串。
            從以下幾點來說明一下
            (1)函數的中前兩個參數是固定外,可選參數是任意個,buffer是存放字符串指針或者數組名字,fromat是格式化字符串,只要是printf使用的格式化字符串,在sprintf都可以使用,格式化字符串是該函數的精髓。
            (2)首先可以把一個整型數據格式化為字符串。比如:char str[20];int i_arg = 12345;sprintf(buf,"%-6d",i_arg);
            (3)看一個浮點類型的例子。比如:char str[20];double d_arg = 3.1415926;sprintf(str,"%6.2f",d_arg);
            可以控制精度
            (4)連接兩個字符串,也可以將多個字符串連接起來,%m.n在字符串的輸出中,m表示寬度,字符串共占的列數;n表示實際的字符數。%m.n在浮點數中,m也表示寬度,n表示小數的位數。比如:char dest[256];char src1[] = {'a','b','c','d','e'};
            char src2[] ={'1','2','3','4'};sprintf(dest,"%.5s%.4s",src1,src2);也可以動態的截取字符串的某一些字符,char dest[256];char src1[] = {'a','b','c','d','e'};
            char src2[] ={'1','2','3','4'};sprintf(dest,"%.*s%.*s",2,src1,3,src2);也可以竊取浮點類型的有效位sprintf(str,"%*.*",10,4,d_arg);
            補充一點,sprintf的返回值就是字符串的字符的個數,也就是strlen(str)的結果,
            也可以打印某個參數的地址
            int i=2;
            sprintf(str,"%0*x",sizeof(void *),&i);或者用sprintf(str,"%p",&i);

            此外這些都是都是多字節類型(ANSI)的函數,而對于unicode類型的應該使用的相似的函數:

            int wprintf( const wchar_t *format [, argument]... );

             

            int swprintf( wchar_t *buffer, const wchar_t *format [, argument] ... );

            用法和上面的很相似的,就是類型不同而已,
            對于printf和sprintf該函數的包含在<stdio.h>頭文件
            而sprintf和wprintf函數包含在<stdio.h>或者<wchar.h>頭文件中。

            posted on 2011-09-24 22:14 mengkai 閱讀(4057) 評論(0)  編輯 收藏 引用
            久久有码中文字幕| 99久久无码一区人妻a黑| 久久人人爽人人爽人人片AV麻豆 | 国产亚洲精品美女久久久| 久久综合国产乱子伦精品免费| 久久久久久午夜成人影院| 91久久精品国产免费直播| 久久久久国产精品人妻| 久久婷婷国产综合精品| 久久久久久久久久免免费精品| 色婷婷久久综合中文久久蜜桃av| 国产福利电影一区二区三区,免费久久久久久久精 | 97久久精品人妻人人搡人人玩| 久久久精品久久久久特色影视| 久久夜色精品国产网站| 久久精品这里只有精99品| 热re99久久精品国产99热| 久久精品国产男包| 亚洲日本久久久午夜精品| 国产伊人久久| 免费精品99久久国产综合精品| 亚洲AV无码成人网站久久精品大| 欧美激情精品久久久久久久| 国内精品久久久久| 99久久人妻无码精品系列| 99久久夜色精品国产网站| 久久久久99这里有精品10| 色婷婷噜噜久久国产精品12p| 久久精品国产清自在天天线| 91久久精品国产91性色也| 久久精品国产精品青草| 国产精品一久久香蕉国产线看 | 久久精品9988| 久久国产免费观看精品| 久久精品9988| 精品人妻伦九区久久AAA片69| 国产精品九九久久免费视频 | 国产高清国内精品福利99久久| 精品久久一区二区三区| 久久成人精品视频| 66精品综合久久久久久久|