_flushall
Opróżnia wszystkie strumienie; czyści wszystkie.
Składnia
int _flushall( void );
Wartość zwracana
_flushall
Zwraca liczbę otwartych strumieni (dane wejściowe i wyjściowe). Nie ma zwracanego błędu.
Uwagi
Domyślnie _flushall
funkcja zapisuje w odpowiednich plikach zawartość wszystkich skojarzonych z otwartymi strumieniami wyjściowymi. Wszystkie skojarzone z otwartymi strumieniami wejściowymi są czyszczone z ich bieżącej zawartości. (Te są zwykle utrzymywane przez system operacyjny, co określa optymalny czas automatycznego zapisywania danych na dysku: gdy bufor jest pełny, gdy strumień jest zamknięty lub gdy program kończy się normalnie bez zamykania strumieni).
Jeśli odczyt jest zgodny z wywołaniem _flushall
metody , nowe dane są odczytywane z plików wejściowych do. Wszystkie strumienie pozostają otwarte po wywołaniu metody _flushall
.
Funkcja zatwierdzania na dysku biblioteki czasu wykonywania pozwala zagwarantować, że krytyczne dane są zapisywane bezpośrednio na dysku, a nie do systemu operacyjnego. Bez ponownego zapisywania istniejącego programu można włączyć tę funkcję, łącząc pliki obiektów programu z Commode.obj. W wynikowym pliku wykonywalnego wywołania _flushall
zapisują zawartość wszystkich na dysku. Tylko Commode.obj fflush
mają na nie wpływ tylko _flushall
Commode.obj.
Aby uzyskać informacje na temat kontrolowania funkcji zatwierdzania na dysku, zobacz Stream We/Wy, fopen
i _fdopen
.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Function | Wymagany nagłówek |
---|---|
_flushall |
<stdio.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// 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