0

如何以编程方式检测 CSV 文件中使用的记录/行分隔符。在 90% 的情况下,它是 CR/LF 对,但有时它不是 CR 就是 LF。

它还应该考虑到引用数据字段中的换行符可能与行/记录分隔符不同。

我怎样才能做到这一点?

更新:我只对行/记录分隔符感兴趣:CR/LF、CR 或 LF。

4

1 回答 1

5

当您在文本模式下使用 iostreams 打开文件时,该库将处理 Linux、Windows 或 MacOS 上的不同行尾。

引用数据字段中的换行可以通过计算未转义的引号来检测。如果数字是奇数,您可能有一个未终止的数据字段,因此嵌入了换行符。

当您想知道使用哪个行分隔符时,只需按字符阅读,直到获得 CR 或 LF。如果是LF,你就完成了;如果是 CR,则读取下一个字符。如果下一个字符是 LF,那么你的行尾是 CR LF,否则就是 CR。

于 2012-11-28T10:33:52.307 回答