2016-11-14 98 views
0

我无法找出一个文件istream的函数getline正确的语法()调用C++ - 不为调用“函数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

你检查[文档](http://en.cppreference.com/w/cpp/string/basic_string/getline)? – EdChum

+0

个人而言,当我遇到函数语法的问题时,[**我在线查找语法](http://en.cppreference.com/w/cpp/string/basic_string/getline)。你应该使用'std :: string'的函数形式。 –

+0

@EdChum我已经引用了这个http://www.cplusplus.com/reference/istream/istream/getline/现在检查你的资源 – conjenks

回答

0

getline()读取字符串,但您传递它一个字符。

使用方法如下:

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