我试图根据用户的决定使用指针指向我想要的输入流。这是我到目前为止所得到的。
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流出来。
非常感谢任何帮助。
答案 0 :(得分:1)
一个问题是&#39; myStream&#39;是指向istream的指针,但在while循环中它被用作istream的实例。您需要使用指针来使代码正常工作。例如:
while (*myStream >> out) {
cout << out << endl;
}