sprintf ()- 将格式化数据打印到缓冲区
格式
#include <stdio.h>
int sprintf(char *buffer, const char *format-string, argument-list);语言级别
ANSI
线程安全
是
语言环境敏感
此函数的行为可能受当前语言环境的 LC_CTYPE 和 LC_NUMERIC 类别影响。 如果在编译命令中指定了 LOCALETYPE (*LOCALEUCS2) 或 LOCALETYPE (*LOCALEUTF) ,那么此行为也可能受当前语言环境的 LC_UNI_CTYPE 类别影响。 有关更多信息,请参阅 了解 CCSID 和语言环境。
描述
sprintf() 函数将一系列字符和值格式化并存储在数组 缓冲区中。 任何 argument-list 都将根据 format-string中相应的格式规范进行转换和输出。
format-string 由普通字符组成,并且具有与 printf() 函数的 format-string 自变量相同的格式和函数。
返回值
sprintf() 函数返回数组中写入的字节数,不计入结束空字符。
示例
此示例使用
sprintf() 来格式化和打印各种数据。#include <stdio.h>
char buffer[200];
int i, j;
double fp;
char *s = "baltimore";
char c;
int main(void)
{
c = 'l';
i = 35;
fp = 1.7320508;
/* Format and print various data */
j = sprintf(buffer, "%s\n", s);
j += sprintf(buffer+j, "%c\n", c);
j += sprintf(buffer+j, "%d\n", i);
j += sprintf(buffer+j, "%f\n", fp);
printf("string:\n%s\ncharacter count = %d\n", buffer, j);
}
/********************* Output should be similar to: *************
string:
baltimore
l
35
1.732051
character count = 24 */