Aracılığıyla paylaş


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 streamNULL, 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 errnoEINVAL 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_errlistve _sys_nerr.

_fcloseall işlevi, , stdoutstderr (ve, MS-DOS _stdaux içinde ve _stdprn) dışındaki stdintüm açık akışları kapatır. Ayrıca tarafından tmpfileoluş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.

Dekont

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 fclosekapatı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 fclosebkz _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

Function Gerekli başlık
fclose <stdio.h>
_fcloseall <stdio.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

örneğine fopenbakın.

Ayrıca bkz.

Akış G/Ç
_close
_fdopen, _wfdopen
fflush
fopen, _wfopen
freopen, _wfreopen