您的位置:首页 > 其它

sprintf()函数的用法

2013-11-07 21:50 253 查看
今天老师提到一个将float型数据转换为字符串的问题,首先想到了sprintf函数,就试了一下,发现了一些问题。


功能:把格式化的数据写入某个字符串缓冲区


头文件:stdio.h


原型:int sprintf( char *buffer, const char
*format, [ argument] … );


参数列表:

bufferchar型指针,指向将要写入的字符串的缓冲区。

format:格式化字符串。

[argument]...:可选参数,可以是任何类型的数据。

返回值:字符串长度(strlen

关于sprintf对于float类型的转换,有几种输出格式:

浮点数的打印和格式控制是sprintf 的又一大常用功能,浮点数使用格式符”%f”控制,默认保留小数点后6 位数字,比如:sprintf(s, "%f", 3.1415926); //产生"3.141593"。同时还可以控制整数部分和小数部分的显示位数,使用”%m.nf”格式,其中m
表示打印的宽度,n 表示小数点后的位数。(一定要注意m与n之间的点“.”)。当打印宽度比参数的宽度大时,在整数的左边补空格;当小数部分保留的位数比参数小数部分大时,小数部分右边补0。

sprintf(s, "%2.4f", 34567.141);

输出为:34567.1410;此时,总宽度在此处不起作用。

注意,m为总的数位数(包括小数点),n为小数位数。

sprintf(s, "%11.4f", 34567.141);


输出为:空格34567.1410;

#include <iostream>
using namespace std;

int main()
{
char s[50];

sprintf(s, "%11.4f", 34567.141);
printf(s);
system("pause");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: