getline忽略' \ n' - 有两个分隔符的getline

时间:2016-06-25 13:05:56

标签: c++ csv getline

在c ++中,我分别为每一行获得了float,float,float,\nfloat float float \n形式的矩阵的csv文件。

如果我使用getline逐行读取文件,则始终会读取结束行分隔符\n,即getline(csv_file, csv_line, '\n')getline(csv_file, csv_line)作为输出{{1}而不是1,2,3,\n正如我所期望的那样。我怎样才能专门丢弃此1,2,3,

此外,如何区分这两个输入版本并存储特定分隔符\n' '

1 个答案:

答案 0 :(得分:0)

首先,让数据以每行不同的格式呈现通常不是一个好主意。

但如果是,你可以使用没有分隔符的this getline读取所有行到字符串,然后使用regexp或简单的字符串函数解析字符串。您可以通过尝试在字符串中查找,符号来定义它的格式。如果你find,那么你需要用逗号分隔,否则用空格分割。

另请查看stringstream班级(link)。当你需要从已经被重新处理的字符串中切片一些值时(而不仅仅是一种类型),它就是这种情况。