Sdílet prostřednictvím


_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