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 입력 한 문장으로 가져옵니다: 테스트입니다 이것은 테스트입니다.