Программа сохраняет файл настроек в виде текста, который содержит числа с плавающей запятой типа long double
. Файл настроек может быть сохранен только через графический интерфейс (GTK2), а файлы также могут быть загружены через командную строку и без вызова графического интерфейса.
К сожалению, пользователь сообщает, что в файлах, которые он сохранил, из-за его языкового стандарта числа форматируются запятыми, и программа отказывается загружать их (отправляя сообщения об ошибках) из командной строки, но, кажется, загружает их, когда графический интерфейс открыт.
Я уже задавал следующий вопрос: MPFR, printf, десятичные разряды, локали, проблема ввода-вывода файла , в которой предлагалось использовать setlocale(LC_ALL, "C")
, который я поместил в начале main
. Поскольку это не сработало, я поместил его после вызова gtk_init_check
, но опять же, это не имело никакого значения. ( РЕДАКТИРОВАТЬ Это изменило ситуацию после того, как я установил несколько локалей.)
Я хочу, чтобы программа всегда использовала один и тот же параметр языкового стандарта (или нелокализованный параметр языкового стандарта - «C») для сохраняемых файлов данных, но при этом не хочу портить графический интерфейс.
Как?