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

C++中sprintf使用的方法與printf的區(qū)別分析

 更新時(shí)間:2015年01月12日 14:32:14   投稿:shichen2014  
這篇文章主要介紹了C++中sprintf使用的方法與printf的區(qū)別,實(shí)例分析了sprintf與printf的具體用法及相關(guān)注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C++中sprintf使用的方法與printf的區(qū)別。分享給大家供大家參考。具體分析如下:

首先我們?cè)贛SDN看一下printf的原型和sprintf的原型

復(fù)制代碼 代碼如下:
int printf( const char *format [, argument]... );


復(fù)制代碼 代碼如下:
int sprintf( char *buffer, const char *format [, argument] ... );

從定義來(lái)看兩者的功能其實(shí)很相似的。

如果你接觸的控制臺(tái)的程序較多的話(huà),見(jiàn)到printf的比較多,printf函數(shù)打印結(jié)果到屏幕上,而sprintf函數(shù)可以完成其他數(shù)據(jù)類(lèi)型轉(zhuǎn)換為字符串。
從以下幾點(diǎn)來(lái)說(shuō)明一下

(1)函數(shù)的中前兩個(gè)參數(shù)是固定外,可選參數(shù)是任意個(gè),buffer是存放字符串指針或者數(shù)組名字,fromat是格式化字符串,只要是printf使用的格式化字符串,在sprintf都可以使用,格式化字符串是該函數(shù)的精髓。
(2)首先可以把一個(gè)整型數(shù)據(jù)格式化為字符串。比如:

復(fù)制代碼 代碼如下:
char str[20];
int i_arg = 12345;
sprintf(buf,"%-6d",i_arg);

(3)看一個(gè)浮點(diǎn)類(lèi)型的例子。比如:
復(fù)制代碼 代碼如下:
char str[20];
double d_arg = 3.1415926;
sprintf(str,"%6.2f",d_arg);

可以控制精度
(4)連接兩個(gè)字符串,也可以將多個(gè)字符串連接起來(lái),%m.n在字符串的輸出中,m表示寬度,字符串共占的列數(shù);n表示實(shí)際的字符數(shù)。%m.n在浮點(diǎn)數(shù)中,m也表示寬度,n表示小數(shù)的位數(shù)。比如:
復(fù)制代碼 代碼如下:
char dest[256];
char src1[] = {'a','b','c','d','e'};
char src2[] ={'1','2','3','4'};
sprintf(dest,"%.5s%.4s",src1,src2);

也可以動(dòng)態(tài)的截取字符串的某一些字符:
復(fù)制代碼 代碼如下:
char dest[256];
char src1[] = {'a','b','c','d','e'};
char src2[] ={'1','2','3','4'};
sprintf(dest,"%.*s%.*s",2,src1,3,src2);

也可以竊取浮點(diǎn)類(lèi)型的有效位
復(fù)制代碼 代碼如下:
sprintf(str,"%*.*",10,4,d_arg);

補(bǔ)充一點(diǎn),sprintf的返回值就是字符串的字符的個(gè)數(shù),也就是strlen(str)的結(jié)果,
也可以打印某個(gè)參數(shù)的地址
復(fù)制代碼 代碼如下:
int i=2;
sprintf(str,"%0*x",sizeof(void *),&i);

或者用:
復(fù)制代碼 代碼如下:
sprintf(str,"%p",&i);

此外這些都是都是多字節(jié)類(lèi)型(ANSI)的函數(shù),而對(duì)于unicode類(lèi)型的應(yīng)該使用的相似的函數(shù):

復(fù)制代碼 代碼如下:
int wprintf( const wchar_t *format [, argument]... );
 
int swprintf( wchar_t *buffer, const wchar_t *format [, argument] ... );

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

希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 在編程語(yǔ)言中怎樣定義隊(duì)列及其使用(C++)

    在編程語(yǔ)言中怎樣定義隊(duì)列及其使用(C++)

    這篇文章主要介紹了在編程語(yǔ)言中怎樣定義隊(duì)列,本文主要根據(jù)c++來(lái)介紹,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • C++實(shí)現(xiàn)LeetCode(107.二叉樹(shù)層序遍歷之二)

    C++實(shí)現(xiàn)LeetCode(107.二叉樹(shù)層序遍歷之二)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(107.二叉樹(shù)層序遍歷之二),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • MFC實(shí)現(xiàn)學(xué)生選課系統(tǒng)

    MFC實(shí)現(xiàn)學(xué)生選課系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了MFC實(shí)現(xiàn)學(xué)生選課系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C++紅黑樹(shù)的底層實(shí)現(xiàn)機(jī)制詳解

    C++紅黑樹(shù)的底層實(shí)現(xiàn)機(jī)制詳解

    紅黑樹(shù)與AVL樹(shù)一樣,也是一種自平衡的二叉搜索樹(shù),它在每個(gè)結(jié)點(diǎn)上增加一個(gè)存儲(chǔ)位表示結(jié)點(diǎn)的顏色,可以是Red或Black,通過(guò)對(duì)任何一條從根到葉子的路徑上各個(gè)結(jié)點(diǎn)著色方式的限制,本文介紹了C++紅黑樹(shù)的底層實(shí)現(xiàn)機(jī)制,需要的朋友可以參考下
    2024-08-08
  • 使用emacs編寫(xiě)C語(yǔ)言教程

    使用emacs編寫(xiě)C語(yǔ)言教程

    這篇文章主要介紹了使用emacs編寫(xiě)C語(yǔ)言教程,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++ stack與queue使用方法詳細(xì)講解

    C++ stack與queue使用方法詳細(xì)講解

    stack是一種容器適配器,專(zhuān)門(mén)用在具有后進(jìn)先出操作的上下文環(huán)境中,其刪除只能從容器的一端進(jìn)行 元素的插入與提取操作;隊(duì)列是一種容器適配器,專(zhuān)門(mén)用于在FIFO上下文(先進(jìn)先出)中操作,其中從容器一端插入元素,另一端提取元素
    2023-01-01
  • opencv3.0識(shí)別并提取圖形中的矩形的方法

    opencv3.0識(shí)別并提取圖形中的矩形的方法

    這篇文章主要介紹了opencv3.0識(shí)別并提取圖形中的矩形的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • C語(yǔ)言特殊符號(hào)的補(bǔ)充理解

    C語(yǔ)言特殊符號(hào)的補(bǔ)充理解

    這篇文章主要為大家介紹了C語(yǔ)言特殊符號(hào)的使用補(bǔ)充理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-02-02
  • 深度剖析C++中的異常機(jī)制

    深度剖析C++中的異常機(jī)制

    異常是面向?qū)ο笳Z(yǔ)言常用的一種處理錯(cuò)誤的方式,當(dāng)一個(gè)函數(shù)發(fā)現(xiàn)自己無(wú)法處理的錯(cuò)誤時(shí)就可以?huà)伋霎惓?,本文我們將?duì)C++ 異常機(jī)制進(jìn)行深入剖析,感興趣的同學(xué)跟著小編一起來(lái)看看吧
    2023-07-07
  • 利用C語(yǔ)言的Cairo圖形庫(kù)繪制太極圖實(shí)例教程

    利用C語(yǔ)言的Cairo圖形庫(kù)繪制太極圖實(shí)例教程

    這幾天都在研究Cairo圖形庫(kù),這是一個(gè)開(kāi)源跨平臺(tái)的圖形庫(kù),相對(duì)于OpenGL來(lái)說(shuō)更容易上手使用。這篇文章是利用C語(yǔ)言的Cairo圖形庫(kù)繪制了一個(gè)太極圖,對(duì)大家學(xué)習(xí)Cairo圖形庫(kù)具有一定的參考借鑒價(jià)值,下面來(lái)一起看看吧。
    2016-12-12

最新評(píng)論

舒兰市| 南涧| 满洲里市| 方城县| 纳雍县| 新竹市| 乾安县| 林州市| 安丘市| 扎赉特旗| 高州市| 永兴县| 沈丘县| 鹰潭市| 樟树市| 宜春市| 古田县| 德江县| 沭阳县| 濉溪县| 台安县| 舟曲县| 美姑县| 镇平县| 张家口市| 油尖旺区| 定结县| 天峨县| 福建省| 成安县| 那曲县| 松阳县| 酒泉市| 古丈县| 门头沟区| 保康县| 新平| 安徽省| 叙永县| 西吉县| 崇义县|