vprintf
書式
int vprintf(const char *format,va_list arg);
機能
第三引数以降をargでリスト化にしたprintfと等価である。
戻り値
出力した文字数。エラーのときは負の値。実行前にva_startマクロでargの初期化が必要。
ヘッダーファイル
stdio.h(stdarg.h)
使用例
void V_Print(const char *format, ...){
va_list arg;
va_start(arg,format);
vprintf(format,arg);
va_end(arg);
}
void P_List(int at,int bt,int ct){
char *s1 = "%d %d %d\n";
char *s2 = "%#o %#o %#o\n";
char *s3 = "%#x %#x %#x\n";
V_Print(s1,at,bt,ct);
V_Print(s2,at,bt,ct);
V_Print(s3,at,bt,ct);
}
int main(void){
int a,b,c;
:;
:;
P_List(a,b,c);
:;
:;
P_List(a,b,c);
}
va_list arg;
va_start(arg,format);
vprintf(format,arg);
va_end(arg);
}
void P_List(int at,int bt,int ct){
char *s1 = "%d %d %d\n";
char *s2 = "%#o %#o %#o\n";
char *s3 = "%#x %#x %#x\n";
V_Print(s1,at,bt,ct);
V_Print(s2,at,bt,ct);
V_Print(s3,at,bt,ct);
}
int main(void){
int a,b,c;
:;
:;
P_List(a,b,c);
:;
:;
P_List(a,b,c);
}