#include <stdio.h>
int fflush(FILE *stream);
ANSI
はい
fflush() 関数は、可能であれば指定された出力 stream に関連付けられたバッファーを空にするようにシステムに命じます。stream が入力に対してオープンである場合、fflush() 関数はすべての ungetc() 関数の効果を取り消します。 呼び出しの後、stream はオープンしたままになります。
fflush() 関数は、バッファーを正常に削除した場合は値 0 を戻します。 エラーが発生した場合は EOF を戻します。
fflush() 関数は、type=record でオープンされたファイルではサポートされていません。
#include <stdio.h>
int main(void)
{
FILE *stream;
int ch;
unsigned int result = 0;
stream = fopen("mylib/myfile", "r");
while ((ch = getc(stream)) != EOF && isdigit(ch))
result = result * 10 + ch - '0';
if (ch != EOF)
ungetc(ch,stream);
fflush(stream); /* fflush undoes the effect of ungetc function */
printf("The result is: %d¥n", result);
if ((ch = getc(stream)) != EOF)
printf("The character is: %c¥n", ch);
}