1.头文件:#include <stdio.h>
2.函数原型:int sprintf ( char * str, const char * format, ... )
3.函数功能:将数据格式化为字符串,再写入到字符串中
4.参数分析:
str:是字符串指针,指向需要被写入格式化数据的字符串
format:是格式化的数据
... :说明格式化的数据可以是多个
5.如何将数据格式化?
和 printf 函数一样,不同的数据类型有不同的格式化符号,如%d、%f、%c、%s……
x.y :x是为数据提供的宽度,y是数据实际占用宽度
(1)对于整型数据:%x.yd
如果数据本身宽度 < 实际占用宽度,缺少的宽度在数据左侧用0填充;
如果数据本身宽度 >= 实际要占用宽度,则实际占用宽度为数据本身宽度
(2)对于浮点型数据:%x.yf
x用于控制数据占用宽度,y用于控制浮点数小数个数
(3)对于字符型数据:%x.ys
x用于控制数据占用宽度,y用于控制输出字符个数
6.实例代码
(1)将整型数据格式化写入字符串
char arr[10];
int a = 123;
int b = 456;
sprintf(arr, "%d%d", a, b);
printf("%s\n", arr);//123456
(2)将浮点型数据格式化写入字符串
char arr[20];
float a = 3.14;
float b = 520.1314;
sprintf(arr, "%.2f %.4f", a, b);
printf("%s\n", arr);//3.14 520.1314
(3)将字符型数据格式化写入到字符串中(连接两个字符串)
char arr[20];
char* s1 = "abcdef";
char* s2 = "ghijklmn";
sprintf(arr, "%s%s", s1, s2);
printf("%s\n", arr);//abcdefghijklmn
7.sprintf函数使用注意事项
写入的字符串空间要足够大,否则会内存溢出