printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - formatted output conversion
#include <stdio.h>
int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int dprintf(int fd, const char *format, ...);
//Return: 输出字符的数量 if OK, 负数 if output error
int sprintf(char *str, const char *format, ...);
//Return: 存在数组的字符数量 if OK, 负数 if encoding error
int snprintf(char *str, size_t size, const char *format, ...);
//Return: 存在数组的字符数量 if 缓冲区足够大, 负数 if encoding error
printf
:写入标准输出fprintf
:写入指定的流dprintf
:写入指定的文件描述符sprintf
:存入指定的数组buf
内,会自动在结尾追加null
字节。此外,因为sprintf
可能会溢出,所以调用者要确保buf
的尺寸snprintf
:相对于sprintf
明确指定了尺寸,防止溢出问题。