다음을 통해 공유


_flushall

모든 스트림을 플러시하고 모든 버퍼를 지웁니다.

구문

int _flushall( void );

반환 값

_flushall은 열려 있는 스트림(입력 및 출력)의 수를 반환합니다. 오류 반환이 없습니다.

설명

기본적으로 _flushall 함수는 열려 있는 출력 스트림과 연결된 모든 버퍼의 내용을 해당 파일에 씁니다. 열려 있는 입력 스트림과 연결된 모든 버퍼에서 현재 내용이 지워집니다. 이 버퍼는 대개 자동으로 디스크에 데이터를 쓸 수 있는 최적의 시간을 결정하는 운영 체제에서 유지 관리됩니다. 버퍼가 채워졌을 때 스트림이 닫히거나 스트림을 닫지 않고 프로그램이 정상적으로 종료됩니다.

_flushall을 호출한 후 읽는 경우 입력 파일에서 버퍼로 새 데이터를 읽습니다. _flushall을 호출한 후 모든 스트림이 열린 상태를 유지합니다.

런타임 라이브러리의 디스크에 커밋 기능을 사용하면 중요한 데이터가 운영 체제 버퍼 대신 디스크에 직접 기록되어 있는지 확인할 수 있습니다. 기존 프로그램을 다시 작성하지 않고 프로그램의 개체 파일을 Commode.obj 연결하여 이 기능을 사용하도록 설정할 수 있습니다. 결과 실행 파일에서 모든 버퍼의 내용을 디스크에 쓰는 호출 _flushall 입니다. _flushallfflush만 Commode.obj의 영향을 받습니다.

디스크에 커밋 기능을 제어하는 방법에 대한 자세한 내용은 Stream I/Ofopen_fdopen.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

요구 사항

함수 필수 헤더
_flushall <stdio.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

// crt_flushall.c
// This program uses _flushall
// to flush all open buffers.

#include <stdio.h>

int main( void )
{
   int numflushed;

   numflushed = _flushall();
   printf( "There were %d streams flushed\n", numflushed );
}
There were 3 streams flushed

참고 항목

스트림 I/O
_commit
fclose, _fcloseall
fflush
setvbuf