printf()、vprintf()、sprintf()、vsprintf()、 fprintf() 和 vfprintf()的区别
#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() 在控制台应用程序中最为常用,使用也很简单。其参数为格式化字符串。
函数原型:printf(const char *format,[argument]);
例如:
int a=1,b=2;
printf("a=%d,b=%d",a,b);
输出:a=1,b=2
sprintf() 用于将输出存到字符缓冲中。
函数原型:sprintf(char *buffer, const char *format, [argument]);
例如:
int a=1,b=2;
void cat(char *format, ...){
char buffer[256]={0};
va_list aptr;
va_start(aptr, format);
vsprintf(buffer, format, aptr);
va_end(aptr);
put(&shell,buffer,strlen(buffer));
}
char s[10];
sprintf(s,"a=%d,b=%d",1,2);
puts(s);
输出:a=1,b=2
fprintf是写到文件里的