_flushall
모든 스트림을 플러시하고 모든 버퍼를 지웁니다.
구문
int _flushall( void );
반환 값
_flushall
은 열려 있는 스트림(입력 및 출력)의 수를 반환합니다. 오류 반환이 없습니다.
설명
기본적으로 _flushall
함수는 열려 있는 출력 스트림과 연결된 모든 버퍼의 내용을 해당 파일에 씁니다. 열려 있는 입력 스트림과 연결된 모든 버퍼에서 현재 내용이 지워집니다. 이 버퍼는 대개 자동으로 디스크에 데이터를 쓸 수 있는 최적의 시간을 결정하는 운영 체제에서 유지 관리됩니다. 버퍼가 채워졌을 때 스트림이 닫히거나 스트림을 닫지 않고 프로그램이 정상적으로 종료됩니다.
_flushall
을 호출한 후 읽는 경우 입력 파일에서 버퍼로 새 데이터를 읽습니다. _flushall
을 호출한 후 모든 스트림이 열린 상태를 유지합니다.
런타임 라이브러리의 디스크에 커밋 기능을 사용하면 중요한 데이터가 운영 체제 버퍼 대신 디스크에 직접 기록되어 있는지 확인할 수 있습니다. 기존 프로그램을 다시 작성하지 않고 프로그램의 개체 파일을 Commode.obj 연결하여 이 기능을 사용하도록 설정할 수 있습니다. 결과 실행 파일에서 모든 버퍼의 내용을 디스크에 쓰는 호출 _flushall
입니다. _flushall
및 fflush
만 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