あと
sprintf(a,"%d,%s",i,a);
とか
sprintf(a,"%s,%d",a,i);
みたいに上書きしても大丈夫ですか?