Home C&C++函数库 c++ 语法 程序源码 Linux C库

sprintf

函数  <cstdio>

int sprintf ( char * str, const char * format, ... );
将格式化的数据写入字符串
如果在printf上使用format,则使用与打印相同的文本组成一个字符串,但不打印内容, 而是将内容作为C字符串存储在str指向的缓冲区中。

缓冲区的大小应该足够大,以包含整个结果字符串(参见snprintf获得更安全的版本)。

在写入的内容之后会自动附加一个终止空字符。

在format形参之后,函数期望至少与format所需的参数一样多的附加参数。

☲  参数



str
指向存储C-string结果的缓冲区的指针。
缓冲区应该足够大,以容纳产生的字符串。

format
C字符串,包含一个格式字符串,该格式字符串遵循与printf格式相同的规范(请参阅printf了解详细信息)。

... (additional arguments)
根据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;
}

输出:
[5 plus 3 is 8] is a string 13 chars long
有关格式化的更多示例,请参见printf

🍄  另请参阅



sscanf 从字符串读取格式化的数据(function )
printf 将格式化的数据写入stdout(function )
snprintf 将格式化输出写入特定大小的缓冲区(function )

联系我们 免责声明 关于CandCplus 网站地图