我想写一个类似
的函数void put(const char *label, const char *format, ...)
{
/* There is a file f open for writing */
fprintf(f, "%s:\n", label);
fprintf(f, format);
}
......并使用类似的东西:
put("My Label: ", "A format with number in it %i", 3);
我试图这样做,但我的文件中有16711172而不是3
答案 0 :(得分:2)
请尝试以下代码:
#include<stdio.h>
#include <stdarg.h>
void put(const char *label, const char *format, ...)
{
va_list arg_ptr;
va_start(arg_ptr, format);
/* There is a file f open for writing */
fprintf(stdout, "%s: ", label);
vfprintf(stdout, format, arg_ptr);
va_end(arg_ptr);
}
int main() {
put("LAB", "%d\n", 5);
}