C中的格式化输出变参函数
一、C中的格式化输出变参函数
C中的格式化输出变参函数有:
int vprintf(const char *format,va_list ap); // 格式化字符串标准输出
int vfprintf(FILE *stream,const char *format,va_list ap); // 格式化输出到文件流中
int vsprintf(char str,const charformat,va_list ap); // 格式化输出到str中并在末尾加‘\0’,str空间不够会溢出
int vsnprintf(char *str,size_t size,const char *format,va_list ap); // 格式化输出到str中并在末尾加‘\0’,str空间不够会截断输出
二、应用示例
1、vprintf函数使用
#include <stdio.h>
#include <stdarg.h>
int my_printf(const char *format,...)
{
va_list ap;
int retval;
va_start(ap,format);
printf("my_printf():");
retval = vprintf(format,ap);
va_end(ap);
return retval;
}
int main()
{
int i=150,j=-100;
double k = 3.14159;
my_printf("%d %f %x\n",j,k,i);
my_printf("%2d %*d\n",i,2,i);
return 0;
}
运行结