トップページ > キーワード検索 > freopen()
C言語規格
C言語(その他)
プログラム
その他
freopen()
機能 ファイルをオープンし指定のストリームを結び付けることを表す。
定義 #include <stdio.h>

FILE * freopen ( const char * filename, const char * mode, FILE * stream );

※C99規格では以下の定義となる
FILE * freopen ( const char * restrict filename, const char * restrict mode, FILE * restrict stream );
引数
filenameオープンするファイルのパス
※ C99規格においては、NULLを指定可能。その場合はstreamに結び付いたファイルを指定のモードで再オープンすることを表す。
modeオープンする際のモードを文字列で指定。モードは以下のいずれかを指定。
文字列機能
"r"テキストファイルを読取りモードでオープンする
"w"テキストファイルを書込みモードで新規作成する
"a"テキストファイルを追加書込みモードでオープンまたは新規作成する
"rb"バイナリファイルを読取りモードでオープンする
"wb"バイナリファイルを書込みモードで新規作成する
"ab"バイナリファイルを追加書込みモードでオープンまたは新規作成する
"r+"テキストファイルを更新モードでオープンする
"w+"テキストファイルを更新モードで新規作成する
"a+"テキストファイルを追加更新モードでオープンまたは新規作成する
"r+b"または"rb+"バイナリファイルを更新モードでオープンする
"w+b"または"wb+"バイナリファイルを更新モードで新規作成する
"a+b"または"ab+"バイナリファイルを追加更新モードでオープンまたは新規作成する
stream結び付けるストリーム(FILE)へのポインタ
戻り値 成功した場合は、streamの値を返す。
失敗した場合は、NULLを返す。
実装例
#include <stdio.h>

int main(void)
{
    FILE *fp;
    
    /* 標準出力ストリームをファイル書込みに変更 */
    fp = freopen("test.txt", "w", stdout);
    
    if (NULL != fp) {
        
        printf("Hello World.\n");
        
        fclose(fp);                     /* ファイルをクローズ */
    }
    
    return 0;
}
実行結果
(text.txtの内容)
Hello World.





inserted by FC2 system