fclose, _fcloseall
Zamyka strumienia (fclose) lub zamyka wszystkie otwarte strumieni (_fcloseall).
int fclose(
FILE *stream
);
int _fcloseall( void );
Parametry
- stream
Wskaźnik, aby FILE struktury.
Wartość zwracana
fcloseZwraca wartość 0, gdy strumień jest zamknięty pomyślnie._fcloseallZwraca wartość całkowita liczba strumieni zamknięte.Obie funkcje zwracają EOF wystąpił błąd.
Uwagi
fclose Działać zamyka stream.Jeśli stream jest NULL, wywoływana jest funkcja obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, fclose ustawia errno do EINVAL i zwraca EOF.Zalecane jest stream wskaźnik zawsze sprawdzany przed wywołaniem tej funkcji.
Zobacz _doserrno, errno, _sys_errlist i _sys_nerr więcej informacji na temat tych i innych kodów błędów.
The _fcloseall function closes all open streams except stdin, stdout, stderr (and, in MS-DOS, _stdaux and _stdprn).Ponadto zamyka i usuwa wszystkie tymczasowe pliki tworzone przez tmpfile.W obu funkcji wszystkie bufory związane z strumienia są opróżniane przed do zamknięcia.Bufory przydzielone systemu są zwalniane, gdy strumień jest zamknięty.Bufory przypisane przez użytkownika z setbuf i setvbuf nie są automatycznie zwalniane.
Uwaga: użyto funkcji zamknąć strumienia pliku deskryptora oraz OS dojście do pliku (lub podstawowej gniazda) są zamknięte, jak również strumienia.W ten sposób, jeśli plik został pierwotnie otwarty jako plik obsługi lub plik deskryptora oraz jest zamknięty z fclose, czy nie też wywołanie _close zamknąć deskryptor pliku; nie wywołanie funkcji Win32 CloseHandle zamknąć dojście do pliku.
fclosei _fcloseall dołączyć kod do ochrony przed zakłóceniami, z innych wątków.Blokowanie wersja z fclose, zobacz _fclose_nolock.
Wymagania
Funkcja |
Wymaganego nagłówka |
---|---|
fclose |
<stdio.h> |
_fcloseall |
<stdio.h> |
Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.
Przykład
Zobacz przykład dla fopen.