Bagikan melalui


fclose, _fcloseall

Menutup aliran (fclose) atau menutup semua aliran yang terbuka (_fcloseall).

Sintaks

int fclose(
   FILE *stream
);
int _fcloseall( void );

Parameter

stream
Penunjuk ke FILE struktur.

Nilai hasil

fclose mengembalikan 0 jika aliran berhasil ditutup. _fcloseall mengembalikan jumlah total aliran yang ditutup. Kedua fungsi kembali EOF untuk menunjukkan kesalahan.

Keterangan

Fungsi fclose menutup stream. Jika stream adalah NULL, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fclose atur errno ke EINVAL dan mengembalikan EOF. Disarankan agar Anda selalu memeriksa penunjuk stream sebelum memanggil fungsi ini.

Untuk informasi selengkapnya tentang kode pengembalian, lihat errno, , _doserrno_sys_errlist, dan _sys_nerr.

Fungsi _fcloseall menutup semua aliran terbuka kecuali stdin, , stdoutstderr (dan, dalam MS-DOS, _stdaux dan _stdprn). Ini juga menutup dan menghapus file sementara yang dibuat oleh tmpfile. Dalam kedua fungsi, semua buffer yang terkait dengan aliran dibersihkan sebelum penutupan. Buffer yang dialokasikan sistem dirilis saat aliran ditutup. Buffer yang ditetapkan oleh pengguna dengan setbuf dan setvbuf tidak dirilis secara otomatis.

Catatan

Ketika fclose atau _fcloseall fungsi digunakan untuk menutup aliran, deskriptor file dan handel file OS (atau soket) yang mendasar juga ditutup. Dengan demikian, jika file awalnya dibuka sebagai handel file atau pendeskripsi file dan ditutup dengan fclose, jangan juga memanggil _close untuk menutup pendeskripsi file; dan jangan panggil fungsi CloseHandle Win32 untuk menutup handel file.

fclose dan _fcloseall sertakan kode untuk melindungi dari gangguan dari utas lain. Untuk versi non-penguncian dari fclose, lihat _fclose_nolock.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Persyaratan

Fungsi Header yang diperlukan
fclose <stdio.h>
_fcloseall <stdio.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

Lihat contoh untuk fopen.

Lihat juga

Streaming I/O
_close
_fdopen, _wfdopen
fflush
fopen, _wfopen
freopen, _wfreopen