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