fflush
From cppreference.com
| ヘッダー <stdio.h> で定義 |
||
| int fflush( FILE* stream ); |
||
出力ストリーム(および最後に行われた操作が出力である更新ストリーム)の場合、stream のバッファから、関連付けられた出力デバイスに書き込まれていないデータを書き込みます。
入力ストリーム(および最後に行われた操作が入力である更新ストリーム)の場合、動作は未定義です。
stream がヌルポインタの場合、ライブラリパッケージ内で操作されるストリームや、プログラムから直接アクセスできないストリームを含む、開かれているすべての出力ストリームがフラッシュされます。
目次 |
[編集] パラメータ
| stream | - | 書き出すファイルストリーム |
[編集] 戻り値
成功した場合はゼロを返します。それ以外の場合は EOF が返され、ファイルストリームのエラーインジケータが設定されます。
[編集] 注意
POSIX は、入力ストリームに対する fflush の仕様を拡張しており、そのストリームがファイルまたはその他のシーク可能なデバイスを表す場合の効果を定義しています。この場合、POSIX ファイルポインタは C ストリームポインタに一致するように再配置され(これにより、読み取りバッファリングが事実上元に戻され)、ストリームからまだ読み取られていない ungetc または ungetwc の効果は破棄されます。
Microsoft も、入力ストリームに対する fflush の仕様を拡張しており、その効果を定義しています。Visual Studio 2013 以前では、入力バッファを破棄していましたが、Visual Studio 2015 以降では、効果がなく、バッファは保持されます。
[編集] 参考文献
- C23標準 (ISO/IEC 9899:2024)
- 7.21.5.2 fflush 関数 (p: TBD)
- C17標準 (ISO/IEC 9899:2018)
- 7.21.5.2 fflush 関数 (p: TBD)
- C11標準 (ISO/IEC 9899:2011)
- 7.21.5.2 fflush 関数 (p: 305)
- C99標準 (ISO/IEC 9899:1999)
- 7.19.5.2 fflush 関数 (p: 270-271)
- C89/C90標準 (ISO/IEC 9899:1990)
- 4.9.5.2 fflush 関数
[編集] 関連項目
| (C11) |
ファイルを開く (関数) |
| ファイルを閉じる (関数) | |
| C++ ドキュメント (fflush)
| |