_Rclose() — ファイルのクローズ
形式
#include <recio.h>
int _Rclose(_RFILE *fp);言語レベル
ILE C Extension
スレッド・セーフ
はい
説明
_Rclose() 関数は、 fpで指定されたファイルをクローズします。 このファイルをクローズする前に、ファイルに関連したすべてのバッファーがフラッシュされ、
そのファイル用に予約されたすべてのバッファーが解放されます。 ファイルは、例外が発生した場合でもクローズされます。 _Rclose() 関数は、すべてのタイプのファイルに適用されます。
注: _RFILE ポインターが指すストレージは、
_Rclose() 関数によって解放されます。 _Rclose() 関数を使用した後は、_RFILE ポインターを使用しようとしても無効です。戻り値
_Rclose() 関数は、ファイルが正常にクローズされた場合はゼロを戻し、クローズ操作が失敗した場合、またはファイルが既にクローズされていた場合は EOF を戻します。 ファイルは、例外が発生した場合でもクローズされ、ゼロが戻されます。
errno の値は、次のいずれかに設定されます。
| 値 | 意味 |
|---|---|
| ENOTOPEN | ファイルはオープンされていません。 |
| EIOERROR | 回復不能入出力エラーが起こりました。 |
| EIORECERR | 回復可能入出力エラーが起こりました。 |
例
#include <stdio.h>
#include <stdlib.h>
#include <recio.h>
int main(void)
{
_RFILE *fp;
/* Open the file for processing in arrival sequence. */
if (( fp = _Ropen ( "MYLIB/T1677RD1", "rr+, arrseq=Y" )) == NULL )
{
printf ( "Open failed\n" );
exit ( 1 );
}
else
/* Do some processing */;
_Rclose ( fp );
}