_flushall
更新 : 2007 年 11 月
すべてのストリームをフラッシュし、バッファをすべて消去します。
int _flushall( void );
戻り値
_flushall は、開いている入出力ストリームの数を返します。エラーの戻り値はありません。
解説
既定では、_flushall 関数は開いている出力ストリームに関連付けられたバッファの内容をすべて、該当するファイルに書き込みます。開いている入力ストリームに関連付けられたバッファについては、現在の内容を消去します。通常、これらのバッファはオペレーティング システムにより管理されているので、オペレーティング システムがデータを自動的にディスクに書き込む最適な時期を決定します。たとえば、バッファが満杯のとき、ストリームが閉じたとき、またはプログラムがストリームを閉じずに正常終了したときに書き込まれます。
_flushall 呼び出しの後で読み出しを行うと、新しいデータが入力ファイルからバッファに読み込まれます。_flushall 呼び出しの後、ストリームはすべて開いたままです。
ランタイム ライブラリのディスクのコミット機能を使用すると、重要なデータをオペレーティング システムのバッファではなく、ディスクに直接書き込むことができます。プログラムのオブジェクト ファイルを Commode.obj にリンクすると、既存のプログラムを書き換えずにディスクのコミット機能を有効にできます。この結果、生成された実行可能ファイルで _flushall が呼び出されると、バッファの内容がすべてディスクに書き込まれます。Commode.obj の影響を受けるのは、_flushall および fflush だけです。
ディスクのコミット機能を制御する方法については、「ストリーム入出力」、「fopen」、および「_fdopen」を参照してください。
必要条件
関数 |
必須ヘッダー |
---|---|
_flushall |
<stdio.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// crt_flushall.c
// This program uses _flushall
// to flush all open buffers.
#include <stdio.h>
int main( void )
{
int numflushed;
numflushed = _flushall();
printf( "There were %d streams flushed\n", numflushed );
}
There were 3 streams flushed
.NET Framework の相当するアイテム
参照
参照
_flushall