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

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