Read from cin or a file

前端 未结 4 1244
一向
一向 2021-01-18 03:29

When I try to compile the code

istream in;
if (argc==1)
        in=cin;
else
{
        ifstream ifn(argv[1]);
        in=ifn;
}

gcc fails,

4条回答
  •  既然无缘
    2021-01-18 04:04

    So, is it not complaining "no appropriate constructor available" ? Anyways, you can modify it as below.

    void Read(istream& is)
    {
        string line;
        while (getline(is, line))
            cout << line;
    }
    
    int main(int argc, char* argv[])
    {
        if (argc == 1)
            Read(cin);
        else
        {
            ifstream in("sample.txt");
            Read(in);
        }
    }
    

提交回复
热议问题