【发布时间】:2016-11-19 18:27:53
【问题描述】:
我想做这样的事情,但一直遇到错误,因为 istream 的复制赋值运算符受到保护。我想有一种方法可以在程序中的某个未知点将输入从 cin 切换到来自文件的输入。
#include <iostream>
#include <fstream>
using namespace std;
int main() {
istream &in = cin;
ifstream f{"file.txt"};
in = f;
// Then I want to read input from the file.
string s;
while(in >> s) {
cout << s << endl;
}
}
【问题讨论】:
-
流不可分配/可复制。你到底想用
in=f;完成什么?这是没有意义的。只需直接在f上使用operator>>。