fclose
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <stdio.h> で定義
|
||
int fclose( FILE *stream ); |
||
指定されたファイルストリームを閉じます。 バッファリングされているまだ書き込まれていないあらゆるデータは OS にフラッシュされます。 バッファリングされているまだ読み込まれていないデータは破棄されます。
操作が成功したかどうかにかかわらず、ストリームはもはやファイルに紐付けられなくなり、 setbuf または setvbuf によって確保されたバッファ (もしあれば) も紐付け解除され、自動的な確保が使用された場合は解放されます。
fclose が戻った後にポインタ stream の値を使用した場合、動作は未定義です。
引数
| stream | - | 閉じるファイルストリーム |
戻り値
成功した場合は 0、そうでなければ EOF。
例
Run this code
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE* fp = fopen("test.txt", "r");
if(!fp) {
perror("File opening failed");
return EXIT_FAILURE;
}
int c; // note: int, not char, required to handle EOF
while ((c = fgetc(fp)) != EOF) { // standard C I/O file reading loop
putchar(c);
}
if (ferror(fp))
puts("I/O error when reading");
else if (feof(fp))
puts("End of file reached successfully");
fclose(fp);
}
参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.21.5.1 The fclose function (p: 304)
- C99 standard (ISO/IEC 9899:1999):
- 7.19.5.1 The fclose function (p: 270)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.9.5.1 The fclose function
関連項目
(C11) |
ファイルを開きます (関数) |
(C11) |
既存のストリームを別の名前で開きます (関数) |
fclose の C++リファレンス
| |