sprintf()函数基本用法

时间:2021-05-20 15:03:52

基本用法

sprintf 是个变参函数,定义如下:

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

sprintf的返回值的含义是有多少个字符被输入到str中。

       #include <stdio.h>

void main()

       {

       char str[10]={0};

int n= sprintf(str,"%3d%2d%2d",12,34,56);

       printf("%s\n",str);

}

(输入输出格式符有%d,%ld,%f,%lf,%c....

如%3d,说明输出数据按三个长度的宽度显示,如果要输出的长度大于3时会忽略此时的域宽,以正常显示数据(就是把所有的数字都显示出来,域宽不起作用)。如果不足3位的话,会在数据左边以空格补全的,使用整个数据以三个长度的域宽显示。)

另外还有更多用法:

可以指定宽度,不足的左边补空格:

sprintf(s, "%8d%8d", 123, 4567); //产生:" 123 4567"

当然也可以左对齐:

sprintf(s, "%-8d%8d", 123, 4567); //产生:"123 4567"

也可以按照16 进制打印:

sprintf(s, "%8x", 4567); //小写16 进制,宽度占8 个位置,右对齐

sprintf(s, "%-8X", 4568); //大写16 进制,宽度占8 个位置,左对齐

更多用法google吧