在C++中,你可以使用freopen()
函数来实现对stdin
的文件重定向
#include<iostream>
#include <cstdio>
int main() {
// 将stdin重定向到一个名为input.txt的文件
freopen("input.txt", "r", stdin);
if (stdin == nullptr) {
std::cerr << "Error opening input file."<< std::endl;
return 1;
}
int num;
while (std::cin >> num) {
std::cout << "Read number: "<< num<< std::endl;
}
// 关闭重定向的文件
fclose(stdin);
return 0;
}
在这个示例中,我们首先使用freopen()
函数将stdin
重定向到名为input.txt
的文件。然后,我们从重定向的stdin
读取整数并输出它们。最后,我们使用fclose()
函数关闭重定向的文件。
请注意,这个示例假设input.txt
文件存在并包含一些整数。如果文件不存在或无法打开,程序将输出错误消息并返回1。