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是写到文件里的

posted @ 2022-07-16 23:19  kingzhan  阅读(333)  评论(0编辑  收藏  举报