getline忽略'\n';-带有两个分隔符的getline < C++ >我得到一个矩阵的CSV文件,其格式为代码>浮标、浮标、浮标、\n < /C>或浮点浮标\ n < /代码>每行。

getline忽略'\n';-带有两个分隔符的getline < C++ >我得到一个矩阵的CSV文件,其格式为代码>浮标、浮标、浮标、\n < /C>或浮点浮标\ n < /代码>每行。,c++,csv,getline,C++,Csv,Getline,如果我使用getline逐行读取文件,则始终会读取结束行分隔符\n,即getline(csv\u文件,csv\u行,'\n')或getline(csv\u文件,csv\u行)作为输出1,2,3,\n而不是我期望的1,2,3,。如何明确地放弃此\n 此外,如何区分这两个输入版本并存储特定的分隔符'或'?首先,让数据以每行不同的格式显示通常不是一个好主意 但如果是,您可以使用with with no delimeter读取所有行到字符串,然后使用regexp或简单字符串函数解析字符串。您可以通过尝试

如果我使用
getline
逐行读取文件,则始终会读取结束行分隔符
\n
,即
getline(csv\u文件,csv\u行,'\n')
getline(csv\u文件,csv\u行)
作为输出
1,2,3,\n
而不是我期望的
1,2,3,
。如何明确地放弃此
\n


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

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

但如果是,您可以使用with with no delimeter读取所有行到字符串,然后使用regexp或简单字符串函数解析字符串。您可以通过尝试在字符串处查找
符号来定义其格式。如果需要,则需要用逗号分隔,否则用空格分隔


还可以查看
stringstream
class()。它仅适用于需要从已读取的字符串(而不仅仅是一种类型)中分割某些值的情况

是否可能行尾标记实际上是
\r\n
而不是
\n
,因此
\r
没有被丢弃,但您的平台仍将其视为换行符?不,它只是每行末尾的一个“\n”,如何区分逗号和空格分隔符?在不预先知道分隔符是什么的情况下。