fclose, _fcloseall
Akışı kapatır (fclose) veya açık tüm akışlar (_fcloseall).
int fclose(
FILE *stream
);
int _fcloseall( void );
Parametreler
- stream
İşaretçi FILE yapısı.
Dönüş Değeri
fcloseAkış başarıyla kapatıldı, 0 değerini döndürür._fcloseallAkış kapalı toplam sayısını verir.Her iki işlevi dönmek EOF bir hatayı göstermek için.
Notlar
fclose İşlevi kapatır stream.stream Olan NULL, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre Doğrulama.Yürütülmesine devam etmek için izin verilip verilmediğini fclose ayarlar errno için EINVAL ve EOF.Önerilir stream işaretçiyi her zaman seçili olması bu işlev çağrılmadan önce.
Bkz: _doserrno, errno, _sys_errlist ve _sys_nerr bu ve diğer hata kodları hakkında daha fazla bilgi için.
The _fcloseall function closes all open streams except stdin, stdout, stderr (and, in MS-DOS, _stdaux and _stdprn).Ayrıca kapatır ve tarafından oluşturulan geçici dosyaları siler tmpfile.Her iki işlevi kapanış öncesinde akışıyla ilişkili tüm arabellekler Temizlenen.Akış kapalıyken, sistem tarafından ayrılmış arabellekleri serbest bırakılır.Kullanıcı tarafından atanan arabellek setbuf ve setvbuf otomatik olarak serbest.
Not: bu işlevler bir akış kapatmak için kullanıldığında, temel dosya tanımlayıcısı ve işletim sistemi dosya tanıtıcısı (veya yuva), akış olarak kapatılır.Bu nedenle, dosyayı özgün açarsa bir dosya olarak ele veya dosya tanımlayıcısı ve ile kapalı fclose, değil de arama yapmak _close ; dosya tanımlayıcısı kapatmak için Win32 işlevi çağrısı değil CloseHandle dosya Tanıtıcı kapatılamıyor.
fcloseve _fcloseall diğer iş girişime karşı kodu içerir.Kilitleme sürümü için bir fclose, bkz: _fclose_nolock.
Gereksinimler
İşlev |
Gerekli başlık |
---|---|
fclose |
<stdio.h> |
_fcloseall |
<stdio.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
Örnek için bkz: fopen.