本文介绍了将ifstream转换为istream的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将ifstream转换为istream。我认为由于ifstream是istream的孩子,所以我应该可以这样做,但是我在执行此任务时遇到了问题。

How would one go about casting a ifstream into a istream. I figure since ifstream is a child of istream I should be able to do so but I have been having problems with such a task.

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;
.....
}


推荐答案

不需要强制转换。

#include <fstream>
int main()
{
    using namespace std;
    ifstream    f;
    istream&    s   = f;
}

这篇关于将ifstream转换为istream的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-25 03:34