我需要我的程序,請執行下列操作之一:如何寫入/讀取到未知的輸入/輸出在C++流
- 從標準輸入讀取和寫入標準輸出從給定的文件中讀取
- 和寫入另一個給定文件
工作方式僅在運行時確定。
這是我試過
void runProgram(std::istream programIStream, std::ostream programOStream)
{
int x;
programIStream >> x; // Reading from program input stream
programOStream << "Writing to program output stream" << std::endl;
}
int main(int argc, char* argv[])
{
if(argc == 3)
{
std::ifstream ifs;
ifs.open(argv[1], std::ios::in);
std::ofstream ofs;
ofs.open(argv[2], std::ios::out);
runProgram(ifs, ofs);
}
else
{
runProgram(std::cin, std::cout);
}
return 0;
}
我認爲繼承是會照顧的,但是這是行不通的。
什麼是正確的方法來做我所需要的?
你需要按引用傳遞:'無效runProgram(的std :: istream的&programIStream,性病:: ostream的和programOStream)' – NathanOliver
搜索:對象切片。 – Rakete1111
@NathanOliver,這解決了它。謝謝 – Jona