std :: fstream文件句柄重用的问题

时间:2019-06-30 01:14:05

标签: c++ fstream

我不确定这段代码有什么问题:

fstream file_h("h_input.txt");
        if(file_h.is_open()){
                while(!file_h.eof()){
                        line.clear();
                        getline(file_h, line);
                        v_hrml.push_back(line);
                }
                file_h.close();
                file_h.clear();
       }
       file_h("q_input.txt");
       if(file_h.is_open()){
                while(!file_h.eof()){
                        line.clear();
                        getline(file_h, line);
                        v_queries.push_back(line);
                }
                file_h.close();
                file_h.clear();
       }

对于重复使用q_input.txt来打开file_h的代码段,编译器将产生以下错误:

error: no match for call to ‘(std::fstream {aka std::basic_fstream<char>}) (const char [12])’
     file_h("q_input.txt");

欣赏您的想法。

TIA

1 个答案:

答案 0 :(得分:2)

您正在尝试调用变量。

更改

file_h("q_input.txt");

file_h.open("q_input.txt");