我试图根据用户的决定使用一个指针指向我想要的输入流。香港专业教育学院到目前为止所取得的成就。

string fileName = "test.txt";
ifsteam = myFile;
myFile.open(fileName.c_str(), ifstream::in);
istream * myStream;
if (file_mode) {
    myStream = &myFile;
} else {
    myStream = &cin;
}
string out;
while (myStream >> out) {
    cout << out << endl;
}


问题似乎是没有东西从myStream流到外面。

任何帮助将不胜感激。

最佳答案

一个问题是“ myStream”是指向istream的指针,但是在while循环中,它被用作istream的实例。您需要遵循指针才能使代码正常工作。例如:

while (*myStream >> out) {
    cout << out << endl;
}

10-04 20:21