10.4 simple_fprintf関数
simple_fprintf
関数は,関数は以下のような特徴を持っています.
- 標準出力ではなくファイルに対して出力をするための関数です.
- 出力先が違うという点以外は,
simple_printf
関数と同等の機能を有しています. simple_printf
関数と同様引数の数は34個までです.
simple_printf
関数の書式は以下のように定められています.出力先ファイルを指定するための第1引数以外は,simple_printf
関数と同様の書式です.
simple_fprintf(ファイルポインタ, 出力指定書式, 出力対象1, ..);
出力対象は「構成要素.情報」の形式である必要があります.
次の例では,変数の現在値を整数形式で出力させています.出力ファイルとして,output.txtを指定しています.
Variable x; FILE* fp; // ファイルポインタの設定 fp = fopen("output.txt", "w"); // ファイルを開く x = 3; simple_fprintf(fp, "%d\n", x); fclose(fp); // ファイルを閉じる
これに対する出力ファイルoutput.txtへの出力は以下のようになります.
3
次の例では,添字つきの変数の現在値を出力させています.出力先ファイルはresultディレクトリ(フォルダ)以下のdata.txtです.
Set S = "1 2 3"; Element i(set = S); Variable x(index = i); FILE* fp; // ファイルポインタの設定 fp = fopen("result/data.txt", "w"); // ファイルを開く x[i] = 3; simple_fprintf(fp, "x[%d] = %f\n", i, x[i]); fclose(fp); // ファイルを閉じる
これに対する出力ファイルresult/data.txtへの出力は以下のようになります.
x[1] = 3.000000 x[2] = 3.000000 x[3] = 3.000000
ファイルに上書きではなく,追加をしたい場合はファイルを開く際の引数を"a"
とする必要があります.
fp = fopen("result/data.txt", "a");
上に戻る