检测CSV分隔符是否为“;”要么 ”,”

时间:2013-05-23 15:22:12

标签: c++ qt regional-settings

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

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

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

1 个答案:

答案 0 :(得分:2)

QLocale::groupSeparator()

QChar separator = QLocale().groupSeparator();

修改

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

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