C++中的freopen
函數用于將標準輸入/輸出重定向到指定的文件。
使用freopen
函數的一般語法如下:
FILE *freopen(const char *filename, const char *mode, FILE *stream);
其中,filename
是要重定向到的文件名,mode
是打開文件的模式,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
等函數來進行輸入輸出操作。