ホームページ  >  記事  >  バックエンド開発  >  freopen関数の使い方を詳しく解説

freopen関数の使い方を詳しく解説

hzc
hzcオリジナル
2020-06-18 16:41:5710723ブラウズ

freopen関数の使い方を詳しく解説

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。