c++ freopen関数の使い方
C++のfreopen関数は、標準入力/出力を指定されたファイルにリダイレクトするために使用されます。
freopen関数の一般的な構文は次のとおりです。
FILE *freopen(const char *filename, const char *mode, FILE *stream);
ファイル名ファイル名、モードファイルを開くモード、ストリームリダイレクトするストリームオブジェクト
例えば、標準入力をinput.txtというファイルにリダイレクトしたい場合は、次のコードを使用します。
#include <cstdio>
int main() {
// 将标准输入重定向到input.txt文件
freopen("input.txt", "r", stdin);
// 读取文件中的内容
int num;
while (scanf("%d", &num) != EOF) {
printf("读取到的数字:%d\n", num);
}
return 0;
}
同様に、標準出力をoutput.txtというファイルにリダイレクトするには、以下のコードを使用します。
#include <cstdio>
int main() {
// 将标准输出重定向到output.txt文件
freopen("output.txt", "w", stdout);
// 输出内容到文件
printf("Hello, World!\n");
return 0;
}
freopen関数を使用後には、標準入力・出力ストリームオブジェクト(cin、coutなど)の使用は避け、入出力操作はscanfとprintf関数などで行う必要があることに注意する。