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 stream
funkcję . Jeśli stream
parametr ma NULL
wartość , 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_errlist
i _sys_nerr
.
Funkcja _fcloseall
zamyka wszystkie otwarte strumienie z wyjątkiem stdin
, , stdout
stderr
(i, w ms-DOS _stdaux
i _stdprn
). Spowoduje to również zamknięcie i usunięcie wszystkich plików tymczasowych utworzonych przez tmpfile
program . 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ą fclose
polecenia , 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