1 2 3 4 5 6 7 8 9 10 11 12 13
| #include <stdio.h>
int printf(const char *format, ...); int fprintf(FILE *stream, const char *format, ...); int sprintf(char *str, const char *format, ...); int snprintf(char *str, size_t size, const char *format, ...);
#include <stdarg.h>
int vprintf(const char *format, va_list ap); int vfprintf(FILE *stream, const char *format, va_list ap); int vsprintf(char *str, const char *format, va_list ap); int vsnprintf(char *str, size_t size, const char *format, va_list ap);
|
不带v
的处理不定长参数(见不定长参数,处理完ap
参数就变得不再确定了),带v
处理固定参数。
带n
写最多size
字节到str
中(包括结尾的'\0'
)。
成功就返回写出去的字节数(包括结尾的'\0'
)。带n
的需要注意,**返回值表示能够装下输出结果的大小,也就是说,如果返回值大于size
,说明输出结果被截断了,只输出了size
大小——不包括'\0'
**。