C stdio snprintf() 函数

定义和用法

snprintf() 函数将一个格式化字符串以及一个 '\0' 空终止字符写入一个字符数组。

snprintf() 函数定义在 <stdio.h> 头文件中。

格式字符串可以包含格式说明符,这些说明符描述了如何以及在何处表示传递给函数的额外参数。

有关格式说明符的详细信息,请参阅 printf() 参考页面。

实例

将一个格式化字符串写入一个字符数组:

char destination[50];
snprintf(destination, 50, "Hello %s!", "World");
printf("%s", destination);

亲自试一试

语法

snprintf(char * destination, size_t * size, const char * format, arg1, arg2...);

参数

参数 描述
destination 必需。用于写入格式化字符串的字符数组。
destination 必需。字符数组,格式化字符串将被写入其中。
size

必需。指定目标数组的大小。

此函数最多将这么多字符(包括空终止字符)写入数组。

format 必需。字符串,表示要写入数组的数据的格式。
arg1, arg2... 可选。任意数量的额外参数,值可根据 format 参数中的说明符进行格式化并写入目标数组。

技术细节

返回:

int 数,表示打算写入数组的字符数(不包括空终止字符)。

如果这个数大于或等于 size 参数,则有一些字符无法写入数组。

如果发生错误,则返回负数。