根据区域设置,CSV 分隔符(或列表分隔符)可能会;
代替,
,至少在 Windows 上取决于区域设置。
是否有一种跨平台的方法来检测 Qt 中的 CSV 分隔符是什么?
如果没有可用的跨平台方式,是否有特定于 Windows 的方式?
根据区域设置,CSV 分隔符(或列表分隔符)可能会;
代替,
,至少在 Windows 上取决于区域设置。
是否有一种跨平台的方法来检测 Qt 中的 CSV 分隔符是什么?
如果没有可用的跨平台方式,是否有特定于 Windows 的方式?
QChar separator = QLocale().groupSeparator();
编辑:
但这不是一个正确的答案。组分隔符是数字组之间的长数字中使用的字符,例如:“1,234.56”。在该示例中,组分隔符是逗号,小数分隔符是句点。
似乎 QLocale 根本不包含列表分隔符。您可能会尝试根据使用的小数分隔符进行猜测。如果小数分隔符.
则,
用作 CSV 分隔符,如果小数分隔符,
则;
用作 CSV 分隔符。但我不知道这是否涵盖所有语言。
对于 Windows,您可以使用GetLocaleInfo API 来读取列表分隔符。
GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SLIST, szBuf, sizeof(szBuf));