天天看點

sprintf函數的用法

Sprintf函數的用法:

1.該函數包含在stdio.h的頭檔案中,使用時需要加入:#include <stdio.h>

2.sprintf與printf函數的差別:二者功能相似,但是sprintf函數列印到字元串中,而printf函數列印輸出到螢幕上。sprintf函數在我們完成其他資料類型轉換成字元串類型的操作中應用廣泛。隻要在printf中可以使用的格式化字元串,在sprintf都可以使用。其中的格式化字元串是此函數的精華。

3.sprintf函數的格式:int sprintf( char *buffer, const char *format [, argument,...] );

Format格式詳細說明:

%c          一個字元(char)

%d         有符号十進制整數(int)(%ld、%Ld:長整型資料(long),%hd:輸出短整形。)

%i          有符号十進制數(與%d相同)

%u         無符号十進制整數(unsignedint)

%e          浮點數e-計數法

%E         浮點數E-計數法

%f          單精度浮點數(float)十進制計數法(%.nf 這裡n表示精确到小數點後n位。十進制計數。)

%%        列印一個%

%o         無符号8進制整數

%x         無符号16進制整數(同%X)

例子1.輸入16進制數0x31,輸出1,3;

int dat;
	cin>>hex>>dat;//0x31//或者用函數scanf("&d",dat);
	char dat1,dat2;
	sprintf(&dat1,"%X",dat&0xf);//16進制的高四位轉成字元串
	sprintf(&dat2,"%X",dat>>4); //16進制的低四位轉成字元串
	cout<<dat1;//1
	cout<<dat2;//3           

例子2.控制寬度和小數點位數,不足寬度的左邊補空格

char st[20];
	double f=14.309948;
	sprintf(st,"%6.2f",f);//" 14.31" (6是寬度,2是小數點後的位數)
           

繼續閱讀