如何將ifstream轉換爲istream。我認爲,因爲ifstream是istream的孩子,我應該可以這樣做,但我一直有這樣的任務的問題。將ifstream轉換爲istream
std::istream & inputStr = std::cin;
std::ostream & outputStr = std::cout;
if(argc == 3){
std::fstream inputFile;
inputFile.open(argv[1], std::fstream::in);
if(!inputFile){
std::cerr << "Error opening input file";
exit(1);
}
inputStr = inputFile;
.....
}
http://coding.derkeiler.com/Archive/C_CPP/comp.lang.cpp/2004-09/0856.html – DumbCoder 2010-11-02 17:11:10
事實上,你可以直接給它們,但如果你有問題,你應該發佈你的代碼,以便我們知道什麼是錯的。 – casablanca 2010-11-02 17:18:28
你應該不需要。你可以在任何需要使用istream的地方使用文件流,編譯器會爲你做一個自動轉換。 – 2010-11-02 18:26:09