fflush
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <stdio.h> で定義
|
||
int fflush( FILE *stream ); |
||
出力ストリーム (および最後の操作が出力であった更新ストリーム) に対しては、 stream のバッファから紐付けられている出力デバイスにまだ書き込まれていないあらゆるデータを書き込みます。
入力ストリーム (および最後の操作が入力であった更新ストリーム) に対しては、動作は未定義です。
stream がヌルポインタの場合は、ライブラリパッケージ内で操作されるものや、プログラムから直接アクセス可能でないものも含めて、すべての開いている出力ストリームがフラッシュされます。
引数
| stream | - | 書き出すファイルストリーム |
戻り値
成功した場合はゼロを返します。 そうでなければ EOF が返され、ファイルストリームのエラー指示子がセットされます。
ノート
POSIX は fflush の仕様を拡張しており、そのストリームがファイルまたはその他のシーク可能なデバイスを表している限り、入力ストリームに対してもその効果を定義しています。 その場合、 POSIX のファイルポインタは C のストリームのポインタに一致するよう位置が再設定され (実質的にあらゆる読み込みバッファリングが取り消されます)、ストリームからまだ読み戻されていない ungetc または ungetwc のあらゆる効果は破棄されます。
Microsoft も fflush の仕様を拡張しており、入力ストリームに対する効果を定義しています。 Visual Studio 2013 以前では入力バッファを破棄します。 Visual Studio 2015 以降は効果を持たず、バッファは保持されます。
参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.21.5.2 The fflush function (p: 305)
- C99 standard (ISO/IEC 9899:1999):
- 7.19.5.2 The fflush function (p: 270-271)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.9.5.2 The fflush function
関連項目
(C11) |
ファイルを開きます (関数) |
| ファイルを閉じます (関数) | |
fflush の C++リファレンス
| |