天天看点

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是小数点后的位数)
           

继续阅读