その書式、引数で文字を並べて欲しいのですがうまくつくれません
書式を実行時に決めるのは以下のコードで出来たのですが
引数の数が固定されてしまいます(下記の例だと3つに固定される)
この部分を自由な数だけ指定できるようにする方法はありますか?
#include <stdio.h>
int fsa(char *buf,char *format,char *a,char *b, char *c){
sprintf(buf,format,a,b,c);
return 0;
}
int main(){
char buf[1024];
char format[1024];
char data[1024];
printf("format->");
gets(format);
fsa(buf,format,"1","2","3");
printf("\n\n-%s-",buf);
return 0;
}
試しに以下のように書き換えてformatへの引数を
%s %s %s ,"a","b","c"
としてみたのですが
ζ劫 ,"a","b","c"
という壊れたデータが出てきてしまいました