【发布时间】:2019-03-21 02:45:40
【问题描述】:
int main(){
int a,b;
std::cin >> a >> b; // first
freopen("test.txt","r",stdin);
std::cin >> a >> b; // second
fclose(stdin);
cout << a << ", " << b << endl;
freopen("test2.txt","r",stdin);
std::cin >> a >> b; // third
fclose(stdin);
cout << a << ", " << b << endl;
std::cin >> a >> b; // fourth
return 0;
}
这段代码混合了来自终端和文件的输入。 第一个、第二个和第三个 cin 工作正常,但第四个失败了。看来 fclose(stdin) 在这里没有作用。
【问题讨论】:
-
stdin和cin通常是同一个文件。您如何期望在关闭文件后能够读取文件? -
类似于this question。
标签: c++ file cin fclose freopen