|
≫ |
|
|
|
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
ファイル記述子に関連付けられているファイルをクローズします。
形式
#include <unistd.h>
int close (int file_desc);
引数
file_descファイル記述子。
説明
close関数は,暗黙に
fflushを呼び出すことにより,バッファに格納されているデータを書き込みます。書き込みが失敗した場合は (たとえば,ディスクが満杯であったり,ユーザのクォータが超過したため),
closeは実行を続行します。この関数は OpenVMS チャネルをクローズし,バッファの割り当てを解除し,ファイル記述子 (または FILE ポインタ) に関連付けられているメモリを解放します。バッファに格納されているデータは消失し,ファイル記述子 (または FILE ポインタ) はファイルを参照しなくなります。
バッファに格納されているデータを書き込むときに発生したエラーから回復する必要がある場合は,
closeを呼び出す前に,
fsync(または
fflush) を明示的に呼び出す必要があります。
戻り値
0
|
ファイルが正しくクローズされたことを示します。
|
-1
|
ファイル記述子が未定義であるか,ファイルのクローズでエラーが発生したことを示します (たとえば,バッファに格納されているデータを書き込むことができないなど)。
|
例
#include <unistd.h>
int fd;
.
.
.
fd = open ("student.dat", 1);
.
.
.
close(fd);
|
|