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。