Getline忽略'-用两个分隔符getline
getline ignores ' ' - getline with two delimiters
在c++中,我得到一个csv文件的矩阵的形式分别为float,float,float,n
或float float float n
的每一行。
如果我使用getline
明智地读取文件行,结束行分隔符n
也总是被读取,即getline(csv_file, csv_line, 'n')
或getline(csv_file, csv_line)
给出输出1,2,3,n
,而不是我期望的1,2,3,
。我如何明确地丢弃这个n
?
此外,如何区分这两个输入版本并存储特定的分隔符' '
或','
?
首先,让每行数据以不同的格式表示通常不是一个好主意。
但是如果是,您可以使用不带分隔符的getline将所有行读取为string,然后使用regexp或简单的字符串函数解析string。您可以通过尝试在string中找到,
符号来定义它是哪种格式。如果找到它,则需要用逗号分隔,否则用空格分隔。
也看看stringstream
类(链接)。它只适用于需要从已经读取的字符串中切片一些值(而不是只有一种类型)的情况。
相关文章:
- 如何在C++中从两个单独的for循环中添加两个数组
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- 如何返回一个类的两个对象相加的结果
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 两个字符串在 c++ 中不相等
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 两个文件使用彼此的功能-如何解决
- 为什么Mat类的两个对象可以在不重载运算符+的情况下添加
- 如何确保在使用基于布尔值的两个方法之一调用方法时避免分支预测错误
- 停止cmake target_link_libraries将插件中静态库的两个对象文件链接到静态库本身
- 将fold表达式与std::一起用于两个元组
- 如何在C++中比较两个char数组
- 给定两个偶数,求出它们之间所有偶数的平方和
- 尝试使用两个单独的 getline() 实例来填充两个单独的向量
- 使用 Stringstream 和 getline 读取每行的前两个数字
- 在C 中使用两个GetLine(CIN,S)
- 在同一个fstream对象上使用getline的两个函数
- Getline忽略'-用两个分隔符getline