检测 CSV 文件中的记录/行分隔符
Detect record/row separator in a CSV file
如何以编程方式检测CSV文件中使用的记录/行分隔符。在90%的情况下,它是CR/LF对,但有时它是CR或LF。
它还应该考虑到带引号的数据字段中的换行可能与行/记录分隔符不同。
我该怎么做?
更新:我只对什么是行/记录分隔符感兴趣:CR/LF、CR 或 LF。
当您在文本模式下打开带有iostreams的文件时,该库将处理Linux,Windows或MacOS上的不同行尾。
可以通过计算未转义的引号来检测引用数据字段中的换行符。如果数字为奇数,则可能有一个未终止的数据字段,因此嵌入了一个换行符。
当您想知道使用哪个行分隔符时,只需按字符读取,直到获得 CR 或 LF。如果是 LF,你就完成了;如果是 CR,请阅读下一个字符。如果下一个字符是 LF,则您的行尾是 CR LF,否则它只是 CR。
相关文章:
- 将两个数组中的差异记录在第三个数组中
- 当用户键入分隔符时,停止getline()输入
- 为什么在逗号分隔符上下文中将预增量的结果强制转换为void
- 如何在 c++ 中使用 ',' 作为 getline 分隔符
- 带有多个字符分隔符的正则表达式
- 使用 char 分隔符解析C++中的字符串,但将可重复的字符保留为每个解析的子字符串 (C++ STL) 中的分隔符
- 字符串开头的分隔符
- 禁止在控制台上记录谷神星
- 创建 Spdlog 异步文件记录器时遇到困难
- fastrtps:如何在发布/订阅级别使用 DDS 历史记录?
- 尝试将 c 字符串数组与分隔符连接起来
- 如何将自定义记录器与websocketpp一起使用?
- 正则表达式以匹配数字的重复模式,后跟任何类型的分隔符?
- C++结构到德尔福记录dll调用
- 根据新的行分隔符从字符串中删除子字符串
- 如何判断SSL_read是否已经接收并处理了来自单个消息的所有记录
- 同一分隔符之间的多个子字符串
- 通过分隔符分隔包含 UTF-16 BE 文本的uint8_t数组
- 检测 CSV 文件中的记录/行分隔符
- 如何更改protobuf日志记录行为(分隔符)