根据区域设置,CSV 分隔符(或列表分隔符)可能是 ; 而不是 , ,至少在 Windows 上取决于区域设置。

有没有一种跨平台的方法来检测 Qt 的 CSV 分隔符是什么?

如果没有可用的跨平台方式,是否有特定于 Windows 的方式?

最佳答案

QLocale::groupSeparator() :

QChar separator = QLocale().groupSeparator();

编辑:

但这不是一个正确的答案。组分隔符是用于数字组之间的长数字的字符,例如:“1,234.56”。在该示例中,组分隔符是逗号,小数分隔符是句点。

似乎 QLocale 根本不包含列表分隔符。您可能会尝试根据使用的小数点分隔符进行猜测。如果小数点分隔符是 . 则使用 , 作为 CSV 分隔符,如果小数点分隔符是 , 则使用 ; 作为 CSV 分隔符。但我不知道这是否涵盖所有语言。

关于c++ - 检测CSV分隔符是 ";"还是 ",",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16717840/

10-16 04:59