名前空間
変種
操作

std::fclose

提供: cppreference.com
< cpp‎ | io‎ | c
 
 
入出力ライブラリ
入出力マニピュレータ
Cスタイルの入出力
バッファ
(C++98で非推奨)
ストリーム
抽象
ファイル入出力
文字列入出力
配列入出力
(C++98で非推奨)
(C++98で非推奨)
(C++98で非推奨)
同期化出力
エラーカテゴリインタフェース
(C++11)
 
C スタイルの入出力
型とオブジェクト
関数
ファイルアクセス
直接入出力
書式なし入出力
書式付き入力
 
ヘッダ <cstdio> で定義
int fclose( std::FILE* stream );

指定されたファイルストリームを閉じます。 バッファリングされているまだ書き込まれていないあらゆるデータは OS にフラッシュされます。 バッファリングされているまだ読み込まれていないデータは破棄されます。

操作が成功したかどうかにかかわらず、ストリームはもはやファイルに紐付けられなくなり、 std::setbuf または std::setvbuf によって確保されたバッファ (もしあれば) も紐付け解除され、自動的な確保が使用された場合は解放されます。

fclose が戻った後にポインタ stream の値を使用した場合、動作は未定義です。

目次

[編集] 引数

stream - 閉じるファイルストリーム

[編集] 戻り値

成功した場合は 0、そうでなければ EOF

[編集]

#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);
}


[編集] 関連項目

ファイルを開きます
(関数) [edit]
既存のストリームを別の名前で開きます
(関数) [edit]
put 領域のバッファをフラッシュし、紐付けられているファイルを閉じます
(std::basic_filebuf<CharT,Traits>のパブリックメンバ関数) [edit]