Udostępnij za pośrednictwem


fclose, _fcloseall

Zamyka strumień (fclose) lub zamyka wszystkie otwarte strumienie (_fcloseall).

Składnia

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

Parametry

stream
Wskaźnik do FILE struktury.

Wartość zwracana

fclose Zwraca wartość 0, jeśli strumień został pomyślnie zamknięty. _fcloseall Zwraca łączną liczbę zamkniętych strumieni. Obie funkcje powrócą EOF , aby wskazać błąd.

Uwagi

Funkcja fclose zamyka streamfunkcję . Jeśli stream parametr ma NULLwartość , wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, fclose ustawia wartość EINVAL errno i zwraca wartość EOF. Zaleca się, aby przed wywołaniem tej funkcji zawsze sprawdzać stream wskaźnik.

Aby uzyskać więcej informacji na temat kodów zwracanych, zobacz errno, _doserrno, _sys_errlisti _sys_nerr.

Funkcja _fcloseall zamyka wszystkie otwarte strumienie z wyjątkiem stdin, , stdoutstderr (i, w ms-DOS _stdaux i _stdprn). Spowoduje to również zamknięcie i usunięcie wszystkich plików tymczasowych utworzonych przez tmpfileprogram . W obu funkcjach wszystkie skojarzone ze strumieniem są opróżniane przed zamknięciem. przydzielone przez system są zwalniane po zamknięciu strumienia. przypisane przez użytkownika i setbuf setvbuf nie są automatycznie zwalniane.

Uwaga

Gdy fclose funkcje lub _fcloseall są używane do zamykania strumienia, deskryptor pliku bazowego i uchwytu plików systemu operacyjnego (lub gniazda) są również zamknięte. W związku z tym, jeśli plik został pierwotnie otwarty jako uchwyt pliku lub deskryptor plików i jest zamknięty za pomocą fclosepolecenia , nie należy również wywoływać _close , aby zamknąć deskryptor plików; i nie wywołaj funkcji CloseHandle Win32, aby zamknąć uchwyt pliku.

fclose i _fcloseall zawierają kod chroniący przed zakłóceniami przed innymi wątkami. Aby zapoznać się z wersją nieblokającą elementu fclose, zobacz _fclose_nolock.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Wymagania

Function Wymagany nagłówek
fclose <stdio.h>
_fcloseall <stdio.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

Zobacz przykład dla elementu fopen.

Zobacz też

We/Wy strumienia
_close
_fdopen, _wfdopen
fflush
fopen, _wfopen
freopen, _wfreopen