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 @   kingzhan  阅读(389)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示