基本用法
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吧