_flushall
Vyprázdní všechny proudy; vymaže všechny vyrovnávací paměti.
Syntaxe
int _flushall( void );
Vrácená hodnota
_flushall
vrátí počet otevřených datových proudů (vstup a výstup). Nevrátí se žádná chyba.
Poznámky
Ve výchozím nastavení _flushall
funkce zapisuje do příslušných souborů obsah všech vyrovnávacích pamětí přidružených k otevřeným výstupním datovým proudům. Všechny vyrovnávací paměti přidružené k otevřeným vstupním datovým proudům jsou vymazány z jejich aktuálního obsahu. (Tyto vyrovnávací paměti jsou obvykle udržovány operačním systémem, který určuje optimální čas zápisu dat automaticky na disk: pokud je vyrovnávací paměť plná, když je datový proud zavřený nebo když program normálně ukončí bez zavření datových proudů.)
Pokud čtení následuje volání _flushall
, nová data se čtou ze vstupních souborů do vyrovnávací paměti. Všechny streamy zůstanou otevřené po volání _flushall
.
Funkce zápisu na disk knihovny za běhu umožňuje zajistit, aby se důležitá data zapisují přímo na disk, a ne do vyrovnávací paměti operačního systému. Bez přepsání existujícího programu můžete tuto funkci povolit propojením souborů objektů programu s Commode.obj. Ve výsledném spustitelném souboru volání zapisují _flushall
obsah všech vyrovnávacích pamětí na disk. Pouze _flushall
a fflush
jsou ovlivněny Commode.obj.
Informace o řízení funkce commit-to-disk naleznete v tématu Stream vstupně-výstupní operace a fopen
_fdopen
.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Function | Požadovaný hlavičkový soubor |
---|---|
_flushall |
<stdio.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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
Viz také
Vstupně-výstupní operace streamu
_commit
fclose
, _fcloseall
fflush
setvbuf