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
, , stdout
stderr
(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