如何查看结束CSV文件中的'\ n'

时间:2014-12-15 11:22:22

标签: c++ csv getline

我有一个带有一些数据的CSV文件:

3;13.12.2014;inline;33;434;5434

如何检查该行是否以'\ n'结尾?

我尝试过使用getline,但是getline已经将'\ n'作为分隔符。

2 个答案:

答案 0 :(得分:3)

这是检查eof()的顺序的一种情况。 std::getline的输入可以通过以下三个条件之一终止:文件结束,终结符匹配(将被提取)或尝试提取超过std::string::max_size()个字符。在实践中,最后的条件可能永远不会发生;在此之前你会遇到std::bad_alloc。如果已提取终结符,则eof()仍将为false,因为文件末尾将不会被查看。如果输入因文件结尾而终止,则eof()将被设置;如果没有输入其他字符,则还会设置std::failbit。因此条件eof() && !fail()表示您已阅读最后一行,并且错过了'\n'

答案 1 :(得分:0)

谢谢你的回答。 所以,我有建设:

fstream file("sport.csv", fstream::in);
string line;

while(getline(file,line))
{
    cout << line << endl;
}

现在,我不知道,我把条件eof() && !fail()放在哪里?