15.3怎样把参数转传给printf()去完成大部分工作?
用vprintf(), vfprintf() 或vsprintf()。
下面是一个error() 函数, 它列印一个出错信息, 在信息前加入字符串“error: ”和在信息后加入换行符:
#include <stdio.h>
#include <stdarg.h>
void error(const char *fmt, ...)
{
va_list argp;
fprintf(stderr, "error: ");
va_start(argp, fmt);
vfprintf(stderr, fmt, argp);
va_end(argp);
fprintf(stderr, "\n");
}
下面是一个error() 函数, 它列印一个出错信息, 在信息前加入字符串“error: ”和在信息后加入换行符:
#include <stdio.h>
#include <stdarg.h>
void error(const char *fmt, ...)
{
va_list argp;
fprintf(stderr, "error: ");
va_start(argp, fmt);
vfprintf(stderr, fmt, argp);
va_end(argp);
fprintf(stderr, "\n");
}