Определите, является ли разделитель CSV & quot ;; & quot; или & quot;, & quot;

В зависимости от региональных настроек разделитель CSV (или разделитель списка) может быть ; вместо ,, что, по крайней мере, на Windows зависит от региональных настроек.

Есть ли кроссплатформенный способ обнаружить разделитель CSV в Qt?

Если кроссплатформенный способ недоступен, существует ли способ для Windows?

3

Решение

Есть QLocale::groupSeparator():

QChar separator = QLocale().groupSeparator();

Редактировать:

Но это не правильный ответ. Разделитель групп — это символ, используемый в длинных числах между группами номеров, например: «1 234,56». В этом примере разделителем группы является запятая, а десятичным разделителем — точка.

Кажется, что QLocale вообще не содержит разделителя списка. Вы можете попытаться угадать, какой десятичный разделитель используется. Если десятичный разделитель . затем используйте , в качестве разделителя CSV, если десятичный разделитель , затем используйте ; в качестве разделителя CSV. Но я не знаю, охватывает ли это все языки.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]