建議使用 Visual Studio 2017

fclose、_fcloseall

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

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

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

參數

stream
FILE 結構的指標。

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

fclose函式會關閉stream。 如果streamNULL、 無效參數處理常式叫用時,所述參數驗證。 若要繼續,允許執行fclose設定errnoEINVAL,並傳回EOF。 我們建議stream指標一定要檢查之前呼叫這個函式。

請參閱_doserrno,errno,_sys_errlist 和 _sys_nerr如需有關這些功能和其他錯誤碼。

_fcloseall函式會關閉所有開啟的資料流,除了stdinstdoutstderr (而且在 MS-DOS_stdaux_stdprn)。 也會關閉並刪除任何所建立的暫存檔案tmpfile。 在這兩個函數中,資料流相關聯的所有緩衝區排都清之前關閉。 資料流已關閉時,會釋放系統配置的緩衝區。 指派使用者應該使用的緩衝區setbufsetvbuf不會自動釋放。

注意︰這些函式用來關閉資料流,當基礎檔案描述項和作業系統檔案控制代碼 (或通訊端) 都已關閉,以及資料流。 因此,如果檔案開啟為檔案處理或檔案描述項,並關閉與fclose,也不執行呼叫_close若要關閉的檔案描述項; 請勿呼叫 Win32 函式CloseHandle關閉檔案控制代碼。

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

函式必要的標頭
fclose<stdio.h>
_fcloseall<stdio.h>

如需其他相容性資訊,請參閱<簡介>中的 相容性

請參閱範例fopen

資料流 I/O
_close
_fdopen、 _wfdopen
fflush
fopen、 _wfopen
freopen、 _wfreopen

顯示: