编译环境: Debian: 7.6 gcc: 4.7.2
#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);
printf("%02x", 100); /* 输出是16进制 */ printf("%dx", 100); /* 输出是10进制 */
printf()
vprintf()
|
输出至标准输出流stdout
|
fprintf()
vfprintf()
|
输出至指定输出流
|
sprintf()
snprintf()
vsprintf()
vsnprintf()
|
输出至字串str
|
snprintf()
vsnprintf()
|
写入至多size个字节(含‘\0‘)到dtr
|
vprintf()
vfprintf()
vsprintf()
vsnprintf()
|
分别等同于:printf()
fprintf()
sprintf()
snprintf()
区别是:它们都有va_list列表,一旦调用完毕,ap即成为“未定义”状态
|
原文地址:http://blog.csdn.net/u013686019/article/details/39377435