C++官网参考链接:https://cplusplus.com/reference/cstdio/sprintf/
函数
<cstdio>
sprintf
int sprintf ( char * str, const char * format, ... );
将格式化的数据写入字符串
如果在printf上使用format时,将打印相同的文本组成的一个字符串,但内容不是被打印,而是作为C字符串存储在str指向的缓冲区中。
缓冲区的大小应该足够大,可以包含整个结果字符串(参阅snprintf获得更安全的版本)。
在内容后面自动追加一个终止空字符。
在format形参之后,函数期望至少有format所需的相同数量的附加实参。
形参
str
指向存储生成的C字符串的缓冲区的指针。
缓冲区应该足够大,能够包含生成的字符串。
format
C字符串,包含一个格式字符串,该格式字符串遵循与printf中的format相同的规范(详细信息请参阅printf)。
...(附加实参)
根据format字符串的不同,函数可能需要一系列附加实参,每个实参包含一个值,用于替换format字符串中的格式说明符(对于n是指向存储位置的指针)。
这些实参的数量至少应该与格式说明符中指定的值的数量相同。函数将忽略额外的实参。
返回值
如果成功,则返回写入的字符总数。此计数不包括自动附加在字符串结束的额外空字符。
如果失败,则返回负数。
用例
/* sprintf example */
#include <stdio.h>
int main ()
{
char buffer [50];
int n, a=5, b=3;
n=sprintf (buffer, "%d plus %d is %d", a, b, a+b);
printf ("[%s] is a string %d chars long\n",buffer,n);
return 0;
}
输出: