私はこのような文字列を持っています。
char array1[250] = {"Array Values are %d,%d,%d,%d"};
そして、私はこのような4つの整数を持っています、
int var1 = 25,var2 = 78, var3 = -189,var4 = -200;
array1のvar1からvar4を出力したいと思います。それ、どうやったら出来るの?私はすでにarray1自体にフォーマット指定子を持っています。
私はこのような文字列を持っています。
char array1[250] = {"Array Values are %d,%d,%d,%d"};
そして、私はこのような4つの整数を持っています、
int var1 = 25,var2 = 78, var3 = -189,var4 = -200;
array1のvar1からvar4を出力したいと思います。それ、どうやったら出来るの?私はすでにarray1自体にフォーマット指定子を持っています。
フォーマット指定子を配列に入れないでください。ただやる
char array1[128]; // enough space for four ints and the string
sprintf(array1, "Array Values are %d,%d,%d,%d", var1, var2, var3, var4);
ただし、別の出力配列を作成してください。そうしないと、フォーマット文字列を上書きするため、未定義の動作になります。
char output[126];
sprintf(output, array1, var1, var2, var3, var4);
sprintf(array1, array1, var1, var2, var3, var4);
しますか。ただし、Cが同じ文字列の読み取りと書き込みを同時に行う場合に、Cがどの程度親切に反応するかはわかりません。最初に、別の変数にコピーすることを強くお勧めします。
編集:ロディのコメントによると、私はあなたがやろうとしていることをまったくやらないと言うつもりです。フォーマット指定子はデータから分離する必要があります。これを使用しているアプリケーションは、優れた設計のために25バイトを節約できると確信しています。