sprintf函数是个变参函数,定义如下:
int sprintf(char *str, const char *format, …)
除了前两个参数类型固定外,后面可以接任一多个参数。而它的精华,显然就在第二个参数:格式化字符串上。
这里主要讲解sprintf()函数的连接字符串的作用。
1. sprintf()函数具有格式控制串的作用,在许多场合比strcat()函数好用的多。
2. 较少有人注意printf()函数和sprintf()函数的返回值,但它有时候确是非常有用的。sprintf()函数返回了本次函数调用最终打印到字符缓冲区中的字符数目,无需调用strlen()函数便可知道结果字符串中的字符数目。
例如:
#include <stdio.h>
int main()
{
int len;
char a[20] = "I";
char b[20] = "YOU";
char c[20] = {0};
len = sprintf(c, "%s LOVE %s", a, b);
printf("%s\n", c);
printf("%d\n", len);
return 0;
}
此时数组c中存放的就是已被控制好格式的字符串“I LOVE YOU”,数组c中字符串的长度len = 10;