fclose
提供: cppreference.com
ヘッダ <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); }