Sdílet prostřednictvím


fclose, _fcloseall

Zavře datový proud (fclose) nebo zavře všechny otevřené datové proudy (_fcloseall).

Syntaxe

int fclose(
   FILE *stream
);
int _fcloseall( void );

Parametry

stream
Ukazatel na FILE strukturu.

Vrácená hodnota

fclose vrátí hodnotu 0, pokud se datový proud úspěšně zavře. _fcloseall vrátí celkový počet uzavřených datových proudů. Obě funkce se vrátí EOF k označení chyby.

Poznámky

Funkce fclose se zavře stream. Pokud stream je NULL, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, fclose nastaví errno hodnotu EINVAL a vrátí hodnotu EOF. Před voláním této funkce doporučujeme vždy zkontrolovat stream ukazatel.

Další informace o návratových kódech naleznete v tématu errno, _doserrno, _sys_errlista _sys_nerr.

Funkce _fcloseall zavře všechny otevřené proudy s výjimkou stdin, stdoutstderr (a, v MS-DOS a _stdaux_stdprn). Také zavře a odstraní všechny dočasné soubory vytvořené tmpfile. V obou funkcích se před uzavřením vyprázdní všechny vyrovnávací paměti přidružené ke streamu. Vyrovnávací paměti přidělené systémem se uvolní při zavření datového proudu. Vyrovnávací paměti přiřazené uživatelem setbuf a setvbuf nejsou automaticky uvolněny.

Poznámka

Když fclose nebo _fcloseall funkce slouží k zavření datového proudu, podkladový popisovač souboru a popisovač souboru operačního systému (nebo soket) jsou také zavřené. Proto pokud byl soubor původně otevřen jako popisovač souboru nebo popisovač souboru a je zavřený pomocí fclose, nezavírejte také volání _close pro zavření popisovače souboru; a nevolejte funkci CloseHandle Win32 pro zavření popisovače souboru.

fclose a _fcloseall zahrňte kód, který chrání před rušením před jinými vlákny. Informace o nezamykání verze fclose, viz _fclose_nolock.

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
fclose <stdio.h>
_fcloseall <stdio.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

Podívejte se na příklad pro fopen.

Viz také

Vstupně-výstupní operace streamu
_close
_fdopen, _wfdopen
fflush
fopen, _wfopen
freopen, _wfreopen