fclose
, _fcloseall
Bir akışı kapatır (fclose
) veya tüm açık akışları (_fcloseall
kapatır).
Sözdizimi
int fclose(
FILE *stream
);
int _fcloseall( void );
Parametreler
stream
Yapı işaretçisi FILE
.
Dönüş değeri
fclose
akış başarıyla kapatılırsa 0 döndürür. _fcloseall
kapatılan toplam akış sayısını döndürür. Her iki işlev de hata belirtmek için geri döner EOF
.
Açıklamalar
fclose
işlevi kapatırstream
. ise stream
NULL
, parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, fclose
olarak ayarlanır errno
EINVAL
ve döndürür EOF
. Bu işlevi çağırmadan önce işaretçiyi stream
her zaman denetlemeniz önerilir.
İade kodları hakkında daha fazla bilgi için bkz. errno
, _doserrno
, _sys_errlist
ve _sys_nerr
.
_fcloseall
işlevi, , stdout
stderr
(ve, MS-DOS _stdaux
içinde ve _stdprn
) dışındaki stdin
tüm açık akışları kapatır. Ayrıca tarafından tmpfile
oluşturulan geçici dosyaları kapatır ve siler. Her iki işlevde de akışla ilişkili tüm arabellekler kapatmadan önce boşaltılır. Akış kapatıldığında sistem tarafından ayrılan arabellekler serbest bırakılır. ile kullanıcı setbuf
tarafından atanan ve setvbuf
ile atanan arabellekler otomatik olarak serbest bırakılmaz.
Not
Bir fclose
akışı kapatmak için veya _fcloseall
işlevleri kullanıldığında, temel dosya tanımlayıcısı ve işletim sistemi dosya tanıtıcısı (veya yuva) da kapatılır. Bu nedenle, dosya başlangıçta bir dosya tanıtıcısı veya dosya tanımlayıcısı olarak açıldıysa ve ile fclose
kapatılırsa, dosya tanımlayıcısını kapatmak için de çağırmayın _close
ve dosya tutamacını kapatmak için Win32 işlevini CloseHandle
çağırmayın.
fclose
ve _fcloseall
diğer iş parçacıklarından gelen girişimlere karşı korumak için kod ekleyin. bir öğesinin kilitlenmeyen sürümü için fclose
bkz _fclose_nolock
. .
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
İşlev | Gerekli başlık |
---|---|
fclose |
<stdio.h> |
_fcloseall |
<stdio.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
örneğine fopen
bakın.
Ayrıca bkz.
Akış G/Ç
_close
_fdopen
, _wfdopen
fflush
fopen
, _wfopen
freopen
, _wfreopen