다음을 통해 공유


fflush

스트림을 플러시합니다.

int fflush( 
   FILE *stream 
);

매개 변수

  • stream
    포인터를 FILE 구조체입니다.

반환 값

fflush버퍼 플러시 경우 0을 반환 합니다.지정 된 스트림 버퍼가 없습니다 있습니다 또는 읽기 전용으로 열려 있는 경우에는 값 0 반환 됩니다.반환 값이 EOF 오류를 나타냅니다.

[!참고]

경우 fflush 반환 EOF, 데이터 쓰기 오류 때문에 손실 되었을.중대 오류 처리기를 설정 하는 경우 버퍼링을 해제 하는 가장 안전한 것은 setvbuf 함수 또는 같은 하위 수준 I/O 루틴을 사용 하려면 _open, _close, 및 _write 스트림 I/O 함수 대신.

설명

fflush 함수는 스트림을 플러시합니다.해당 파일에 연결 하는 경우 stream 출력에 대 한 열려 있는 fflush 는 스트림과 연결 된 버퍼의 내용을 해당 파일에 씁니다.스트림 입력에 열려 있으면 fflush 버퍼의 내용을 지웁니다.fflush이전 호출 하려면의 효과 반전 ungetc 에 대해 stream.또한, fflush(NULL) 연 출력에 대 한 모든 스트림을 플러시합니다.스트림 메서드를 호출한 후 열린 상태로 유지 됩니다.fflush버퍼링된 된 스트림을 주지 않습니다.

버퍼는 일반적으로 데이터는 자동으로 디스크에 쓸 수 있는 최적의 시간을 결정 하는 운영 체제에서 유지: 버퍼가 꽉 찼을 때 나는 스트림의 닫을 때 때 스트림을 닫지 않고 프로그램을 정상적으로 종료 합니다.런타임 라이브러리의 디스크에 커밋 기능 데이터 중요 한 운영 체제 버퍼 대신 디스크에 직접 작성 되었는지 확인 하는 수 있습니다.기존 프로그램을 다시 작성 하지 않고 COMMODE.OBJ 프로그램의 개체 파일을 연결 하 여이 기능을 사용할 수 있습니다.결과 실행 파일을 호출 하려면 _flushall 모든 버퍼의 내용을 디스크에 씁니다.만 _flushall 및 fflush COMMODE.OBJ에 의해 영향을 받습니다.

디스크에 커밋 기능을 제어 하는 방법에 대 한 자세한 내용은 참조 하십시오. I/O 스트림, 통해, 및 _fdopen.

이 함수를 호출 하는 스레드 잠그고는 스레드로부터 안전 하지 않으므로.비잠금 버전을 참조 하십시오. _fflush_nolock.

요구 사항

Function

필수 헤더

fflush

<stdio.h>

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// crt_fflush.c
#include <stdio.h>
#include <conio.h>

int main( void )
{
   int integer;
   char string[81];

   // Read each word as a string.
   printf( "Enter a sentence of four words with scanf: " );
   for( integer = 0; integer < 4; integer++ )
   {
      scanf_s( "%s", string, sizeof(string) );      
      printf( "%s\n", string );
   }

   // You must flush the input buffer before using gets. 
   // fflush on input stream is an extension to the C standard 
   fflush( stdin );   
   printf( "Enter the same sentence with gets: " );
   gets_s( string, sizeof(string) );
   printf( "%s\n", string );
}
  이것은 테스트입니다.
이것은 테스트입니다
  테스트
이것은 테스트입니다
scanf 가진 4 개의 단어의 문장 입력: 테스트입니다
이 
이 선언은 아래 선언과 같습니다.
{a
test
입력 한 문장으로 가져옵니다: 테스트입니다
이것은 테스트입니다.

해당 .NET Framework 항목

System::IO::FileStream::Flush

참고 항목

참조

스트림 I/O

fclose, _fcloseall

_flushall

setvbuf