freopen

[機能]

  ストリームに現在結合されているファイルをクローズし,新しく指定されたファイルにストリームを割り当てます.この関数は,通常既にオープンされている標準入力( stdin ),標準出力( stdout ),標準エラー( stderr )をユーザーが指定したファイルにリダイレクトするために使用されます.成功すると,新しくオープンされたファイルへのポインタを返します.

[形式]
#include <stdio.h>

FILE *freopen(const char *file, const char *mode, FILE *stream)
	file : オープンするファイル名
	mode : 許可されるアクセスの形
		"r"  : 読み出しモードでオープンします.ファイルが存在しないとエ
		       ラーになります.
		"w"  : 書き込みモードでオープンします.ファイルが存在すると,そ
		       の内容は破壊されます.
		"a"  : ファイルの終端への追加モードでオープンします.ファイルが
		       存在しない場合は,作成されます.
		"r+" : 読み出しと書き込みモードでオープンします.ファイルが存在
		       しないとエラーになります.
		"w+" : 読み出しと書き込みモードで空のファイルをオープンします.
		       ファイルが存在すると,その内容は破壊されます.
		"a+" : 読み出しと追加モードでオープンします.ファイルが存在しな
		       い場合は,作成されます.
	stream : 既にオープンされているストリーム		
[使用例]

  1. 標準出力をファイル「 data 」に変更します
    #include <stdio.h>
    
    int main()
    {
    	char *str = "This is a test";
    	FILE *stream;
    
    	stream = freopen("data", "w", stdout);
    
    	printf("%s\n", str);
    
    	return 0;
    }
    			
    (出力) -ファイルの内容-
    This is a test			
[参照]

fclose, fopen, fscanf, fprintf

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引