共用方式為


fclose _fcloseall

關閉資料流 (fclose),或關閉所有開啟的資料流 (_fcloseall)。

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

參數

  • stream
    指標FILE結構。

傳回值

fclose如果成功地關閉資料流,則傳回 0。 _fcloseall傳回資料流關閉的總數。 這兩個函數會傳回EOF代表錯誤發生。

備註

fclose函式會關閉stream。 如果stream是NULL,不正確的參數處理常式會叫用,如所述參數驗證。 若要繼續,請允許執行fclose設定errno到EINVAL ,並傳回EOF。 建議的stream指標永遠檢查呼叫此函式。

請參閱 _doserrno、 errno、 _sys_errlist,以及 _sys_nerr 如需有關這些項目,以及其他] 下,錯誤代碼。

The _fcloseall function closes all open streams except stdin, stdout, stderr (and, in MS-DOS, _stdaux and _stdprn). 它也會關閉,並刪除所建立的任何暫存檔tmpfile。 在這兩個函式,資料流相關聯的所有緩衝區被都清除之前到結尾。 關閉資料流時,就會釋放系統配置的緩衝區。 由使用者利用指定的緩衝區setbuf和setvbuf並不會自動釋放。

附註: 這些函式使用時關閉資料流,基礎檔案描述項和作業系統的檔案控制碼 (或通訊端) 都已關閉,以及資料流。 因此,如果檔案開啟為檔案處理或檔案描述項並關閉與fclose,並沒有同時呼叫_close若要關閉的檔案描述項。 請不要呼叫 Win32 函式CloseHandle ,關閉檔案控制代碼。

fclose與_fcloseall包含保護不受干擾其他執行緒的程式碼。 非鎖定版本的fclose,請參閱_fclose_nolock。

需求

Function

所需標頭

fclose

<stdio.h>

_fcloseall

<stdio.h>

其他相容性資訊,請參閱相容性在簡介中。

範例

請參閱範例的 fopen

.NET Framework 對等用法

請參閱

參考

資料流 I/O

_close

_fdopen _wfdopen

fflush

fopen _wfopen

freopen _wfreopen