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);
}