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。両方の関数では、終了する前に、stream に関連付けられたすべてのバッファーをフラッシュします。システムによって割り当てられたバッファーは、ストリームを閉じるときに解放されます。ユーザーに割り当てられているバッファー setbufとsetvbufが自動的に解放されます。
注: これらの関数を使用して、ストリームを閉じるする場合、基になるファイル記述子および OS ファイル ハンドル (またはソケット)、ストリームとして閉じられます。したがって、ファイルが最初に開かれた場合は、ファイルとして処理ファイル記述子やが閉じているfclose、呼び出しを行うこともなく_close ; のファイル記述子を閉じるには Win32 関数を呼び出すことはありませんCloseHandle 、ファイル ハンドルを閉じること。
fclose_fcloseall別のスレッドからの干渉から保護するためのコードが含まれます。ロックを行わないバージョンのfcloseを参照してください_fclose_nolock。
必要条件
Function |
必須ヘッダー |
---|---|
fclose |
<stdio.h> |
_fcloseall |
<stdio.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
例についてを参照してください fopen。