Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何以编程方式检测 CSV 文件中使用的记录/行分隔符。在 90% 的情况下,它是 CR/LF 对,但有时它不是 CR 就是 LF。
它还应该考虑到引用数据字段中的换行符可能与行/记录分隔符不同。
我怎样才能做到这一点?
更新:我只对行/记录分隔符感兴趣:CR/LF、CR 或 LF。
当您在文本模式下使用 iostreams 打开文件时,该库将处理 Linux、Windows 或 MacOS 上的不同行尾。
引用数据字段中的换行可以通过计算未转义的引号来检测。如果数字是奇数,您可能有一个未终止的数据字段,因此嵌入了换行符。
当您想知道使用哪个行分隔符时,只需按字符阅读,直到获得 CR 或 LF。如果是LF,你就完成了;如果是 CR,则读取下一个字符。如果下一个字符是 LF,那么你的行尾是 CR LF,否则就是 CR。