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