fflush = 出力バッファーを空にする - AWK
○Gawk on Windows ○Gawk ○mawk32 △(パイプ不可)Mawk ○awk
出力バッファーの内容を、全てファイルに書き出します。**** 書式
--------
fflush( 開いているファイル名 )
--------
o 開いているファイル名 -- 入出力時に指定した、ファイル名や(パイプに使った)コマンド名です。
+ AWKプログラム内での出力先パイプ指定は、サポートしていない処理系があります。
o 戻り値 -- 閉じるのに成功したら 0 / 失敗したら -1
**** 使用例(Windowsの場合)
o UNIXで動かしたい時は、system("type out.txt");の typeを cat辺りに変更してみて下さい。
--------
BEGIN {
V = "out.txt";
printf("1.ミクさん\n") > V;
printf("2.リンちゃん\n") > V;
printf("3.レン君\n") > V;
printf("4.ルカ様\n") > V;
fflush(V);
system("type out.txt");
close(V); # ファイルを閉じます。
## print "fflush = " fflush(V); # ファイルを使っていない時に呼び出すと、-1を返します。
}
--------
o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。
**** 機能
o 出力バッファーの内容を、全てファイルに書き出します。
# 出力バッファーは、ファイルへの書き出しを高速化する為の仕組みです。
# printなどを実行すると、通常は、メモリ上にある出力バッファーに書き込みます。
# 出力バッファーが一杯になるか、ファイルを閉じる時に、実際にファイルに書き出します。
#
** 処理系に依存する動作
o Mawk for Windows 1.3.3では、print / printfが、パイプをサポートしていません。
**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk MBCS (32bit版) 1.3.3
o Mawk for Windows 1.3.3 -- パイプは非サポート
o original = the one true awk(updated May 1, 2007)
==
関連ページ:
▼AWKの入出力関数とコマンド実行機能(▼ABC順)
▼AWKプログラムを書く(▼ABC順)
▼AWK
▼制作メモ
> system = OSのコマンドを実行して、終了コードを返す
$0 = 最後に読み込んだデータ、1行分
$1 = 最後に読み込んだデータの1列目
+
close = 開いたファイル(やパイプ)を閉じる
getline = ファイル(やパイプ)から1行読み込む
print = ファイルなどに書き出す
printf = 文字列を組み立ててファイルなどに書き出す
(2010年8月13日変更。カタカナ用語の長音追加)