在c ++中,我分别为每一行获得了float,float,float,\n
或float 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
或' '
?
答案 0 :(得分:0)
首先,让数据以每行不同的格式呈现通常不是一个好主意。
但如果是,你可以使用没有分隔符的this getline读取所有行到字符串,然后使用regexp或简单的字符串函数解析字符串。您可以通过尝试在字符串中查找,
符号来定义它的格式。如果你find,那么你需要用逗号分隔,否则用空格分割。
另请查看stringstream
班级(link)。当你需要从已经被重新处理的字符串中切片一些值时(而不仅仅是一种类型),它就是这种情况。