1.sprintf函数原型
#include <stdio.h> int sprintf(char *string, char *format [,argument,...]);
参数列表
-
string-- 这是指向一个字符数组的指针,该数组存储了 C 字符串。
-
format-- 这是字符串,包含了要被写入到字符串 str 的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。format 标签属性是%[flags][width][.precision][length]specifier
-
[argument]...:根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了 format 参数中指定的每个 % 标签。参数的个数应与 % 标签的个数相同。
返回值
如果成功,则返回写入的字符总数,不包括字符串追加在字符串末尾的空字符。如果失败,则返回一个负数。
2.实例
#include <stdio.h> int main( void ) { char buffer[200], s[] = "computer", c = 'l'; int i = 35, j; float fp = 1.7320534f; // 格式化并打印各种数据到buffer j = sprintf( buffer, " String: %s ", s ); // C4996 j += sprintf( buffer + j, " Character: %c ", c ); // C4996 j += sprintf( buffer + j, " Integer: %d ", i ); // C4996 j += sprintf( buffer + j, " Real: %f ", fp );// C4996 printf( "Output: %s character count = %d ", buffer, j ); return 0; }
输出结果:
Output:
String: computer
Character: l
Integer: 35
Real: 1.732053
character count = 79
格式化数字字符串sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,sprintf 在大多数场合可以替代itoa。