C ++ - 没有用于调用'getline'的匹配函数

时间:2016-11-14 15:16:27

标签: c++ syntax parameters getline

我无法弄清楚文件istream getline()调用的正确语法

我尝试过使用所有不同类型的参数调用getline()的许多变体,并且在查看了几个不同的文档之后它就不起作用了。

std::ifstream in("file.txt");
char tmp;
std::getline(tmp, in);

这个导致

../directory/file.cpp:178:2: error: no matching function for call to 'getline'
    std::getline(tmp, in);
    ^~~~~~~~~~~~

但其他文件说

std::ifstream in("file.txt");
char tmp;
in.getline(tmp);

也吐出

../directory/file.cpp:179:5: error: no matching member function for call to
  'getline'
    in.getline(tmp);
    ^~~~~~~~~~~~

我需要做的就是逐行读取文件,我无法理解。有人可以指点我正确的方向吗?如果需要,我可以提供更多信息。

1 个答案:

答案 0 :(得分:0)

getline()读取字符串,但是你传递一个字符。

像这样使用:

std::ifstream in("file.txt");
std::string tmp;
std::getline(in, tmp);