Cライブラリ関数 -fflush()
説明
Cライブラリ関数int fflush(FILE *stream)出力バッファをフラッシュするために使用されます。
fflush() は C 標準ライブラリの関数で、バッファ内のデータを即座にストリームに関連付けられたファイルまたはデバイスに書き込みます。
入力ストリームに対しては、その動作は未定義であり、入力ストリーム上でこの関数を呼び出すことは避けるべきです。
宣言
以下は fflush() 関数の宣言です。
int fflush(FILE *stream)
パラメータ
stream-- FILE 型へのポインタで、バッファをフラッシュする必要がある対象ストリームを表します。FILE は構造体で、開かれたファイルストリームを表します。
- もし
streamためにNULLの場合、すべての出力ストリームのバッファがフラッシュされます。 - もし
streamがファイルポインタの場合、そのファイルストリームの出力バッファがフラッシュされます。
- もし
戻り値
バッファのフラッシュに成功すると、
fflush()0 を返します。エラーが発生した場合は、
EOFを返し、エラーインジケータを設定します(ferror)。
例
以下の例は、fflush() 関数の使用方法を示しています。
例
コードの説明:
ファイルを開く: 使用
fopen()という名前のファイルを開くexample.txtファイルを書き込み用にします。データを書き込む: 使用
fprintf()文字列を"Hello, World!"ファイルに書き込みます。バッファをフラッシュする: 呼び出し
fflush(fp)データがバッファに残らず、すぐにファイルに書き込まれることを確認します。戻り値を確認する: もし
fflush()が 0 を返すと、バッファのフラッシュが成功したことを示します。それ以外の場合は、エラーが発生したことを示します。ファイルを閉じる: 使用
fclose()ファイルを閉じます。
データが正常にファイルに書き込まれました。
プログラムはファイル example.txt を開き、文字列 "Hello, World!" を書き込みます。
fflush(fp) はバッファのフラッシュに成功し、0 を返すため、"データがファイルに正常に書き込まれました。" と出力します。
ファイル example.txt の内容は次のようになります:
Hello, World!その他の拡張