freopen 函数说明 函数名: freopen 功 能: 实现数据重定向到文件中 用 法: FILE *freopen(const char *filename, const char *mode, FILE *stream); 返回值: 成功,则返回文件指针;失败,返回NULL(可以不使用它的返回值) 7 #include <stdio.h> int main(void) { /* redirect standard output to a file */ if (freopen("OUTPUT.FIL", "w", stdout) == NULL) { fprintf(stderr, "error redirecting\ stdout\n"); } /* this output will go to a file */ printf("This will go into a file."); /* close the standard output stream */ fclose(stdout); return 0; }
freopen 関数は標準の I/O リダイレクト関数を実装することでファイルにアクセスしますが、fopen 関数はファイル I/O を通じてファイルにアクセスします。
freopen 関数はアルゴリズムのコンテストでよく使用されます。アルゴリズムコンテストでは通常、出場者はデータを複数回入力する必要があり、繰り返しの入力を避けるためにリダイレクトが使用されます。
freopen 関数はデバッグに非常に役立ちます。
freopen("debug\\in.txt", "r", stdin) の関数は、標準入力ストリーム stdin をリダイレクトすることです。 debug\ \in.txt ファイルを使用すると、scanf または cin を使用して入力する場合、データは標準入力ストリームから読み取られず、入力は in.txt ファイルから取得されます。
入力データを事前に in.txt に貼り付けておくと、デバッグ時に非常に便利です。
同様に、freopen("debug\\out.txt", "w", stdout) の機能は、出力結果を開く必要があるように、stdout を debug\\out.txt ファイルにリダイレクトすることです。 out.txt ファイルの表示。
説明する必要があるのは次のとおりです:
1. freopen("debug\\in.txt", "r", stdin) で、入力ファイル in.txt をフォルダーに配置します。 debug 、デバッグ フォルダーは、VC でプロジェクト ファイルを作成するときに自動的に生成されるデバッグ フォルダーです。 freopen("in.txt","r",stdin) に変更すると、作成したプロジェクトフォルダーに in.txt ファイルが配置されます。パスが正しく記述されていれば、in.txt ファイルを他のフォルダーに配置することもできます。
2. 出力リダイレクトを使用しても、コンソールに出力を表示することはできません。 3. プログラムのデバッグが成功したら、oj に送信するときにリダイレクトに関連するステートメントを忘れずに削除してください。
推奨チュートリアル: "c"
以上がfreopen関数の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。