C-standard-library-c-function-fflush
提供:Dev Guides
Cライブラリ関数-fflush()
説明
Cライブラリ関数 int fflush(FILE stream)*は、ストリームの出力バッファーをフラッシュします。
宣言
以下は、fflush()関数の宣言です。
int fflush(FILE *stream)
パラメーター
- ストリーム-これは、バッファリングされたストリームを指定するFILEオブジェクトへのポインタです。
戻り値
この関数は、成功するとゼロ値を返します。 エラーが発生した場合、EOFが返され、エラーインジケーターが設定されます(つまり、 feof)。
例
次の例は、fflush()関数の使用法を示しています。
#include <stdio.h>
#include <string.h>
int main () {
char buff[1024];
memset( buff, '\0', sizeof( buff ));
fprintf(stdout, "Going to set full buffering on\n");
setvbuf(stdout, buff, _IOFBF, 1024);
fprintf(stdout, "This is finddevguides.com\n");
fprintf(stdout, "This output will go into buff\n");
fflush( stdout );
fprintf(stdout, "and this will appear when programm\n");
fprintf(stdout, "will come after sleeping 5 seconds\n");
sleep(5);
return(0);
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます。 ここで、プログラムは* fflush()の最初の呼び出しに直面するまで *buff への出力をバッファリングし続けます。その後、再び出力のバッファリングを開始し、最終的に5秒間スリープします。 プログラムが出てくる前に、残りの出力をSTDOUTに送ります。
Going to set full buffering on
This is finddevguides.com
This output will go into buff
and this will appear when programm
will come after sleeping 5 seconds