当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 sprintf用法及代码示例


C语言stdio头文件(stdio.h)中sprintf函数的用法及代码示例。

用法:

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

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

内容后面会自动附加一个终止的空字符。

之后格式参数,该函数至少需要与所需数量一样多的附加参数格式

参数

str
指向存储结果C-string的缓冲区的指针。
缓冲区应足够大以包含结果字符串。
format
包含格式字符串的C字符串,其格式与格式printf(参考printf有关详细信息)。
... (additional arguments)
取决于格式字符串,函数可能需要一系列附加参数,每个参数都包含一个用于替换a的值格式说明符在里面格式字符串(或指向存储位置的指针,用于n)。
这些参数至少应与格式说明符。该函数将忽略其他参数。

返回值

成功后,将返回写入的字符总数。此计数不包括自动附加在字符串末尾的其他null-character。
失败时,将返回负数。

示例

/* 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

也可以看看

snprintf
将格式化的输出写入大小合适的缓冲区(函数 )
printf
将格式化的数据打印到标准输出(函数 )
sscanf
从字符串中读取格式化的数据(函数 )

相关用法


注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C sprintf function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。