vsprintf
書式
int vsprintf(char *s,const char *format,va_list arg);
機能
第三引数以降をargでリスト化にしたsprintfと等価である。
戻り値
出力した文字数。エラーのときは負の値。実行前にva_startマクロでargの初期化が必要。
ヘッダーファイル
stdio.h(stdarg.h)
使用例
void V_Print(char *stt,const char *format, ...){
va_list arg;
va_start(arg,format);
vsprintf(stt,format,arg);
va_end(arg);
puts(stt);
}
void P_List(char *st,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(st,s1,at,bt,ct);
V_Print(st,s2,at,bt,ct);
V_Print(st,s3,at,bt,ct);
}
int main(void){
char s[256];
int a,b,c;
:;
:;
P_List(s,a,b,c);
:;
:;
P_List(s,a,b,c);
}
va_list arg;
va_start(arg,format);
vsprintf(stt,format,arg);
va_end(arg);
puts(stt);
}
void P_List(char *st,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(st,s1,at,bt,ct);
V_Print(st,s2,at,bt,ct);
V_Print(st,s3,at,bt,ct);
}
int main(void){
char s[256];
int a,b,c;
:;
:;
P_List(s,a,b,c);
:;
:;
P_List(s,a,b,c);
}