Установка локали. - C (СИ)
Формулировка задачи:
Как установить локаль таким образом, чтобы подменялись только сообщения и ни в коем случае не изменялся LC_NUMERIC?
При использовании только LC_ALL в числах десятичная точка превращается в запятую.
А такой вариант неработает - не переводятся сообщения:
setlocale(LC_ALL ^ LC_NUMERIC, ""); bindtextdomain("LambdaMach", "./locale"); textdomain("LambdaMach");
Решение задачи: «Установка локали.»
textual
Листинг программы
fprintf(out, "format", gettext("lalala")) /* C а не C++ */
Объяснение кода листинга программы
- Включается заголовочный файл
stdio.h
, который содержит функции для работы с потоками ввода-вывода. - Включается заголовочный файл
locale.h
, который содержит функции для работы с локалью. - Определяется переменная
out
типаFILE*
которая, вероятно, указывает на файл, в который будет производиться запись. - Вызывается функция
fprintf()
с переданными аргументами:out
(файл для записи),format
(строка формата),gettext(
lalala)
(значение, которое будет использоваться в форматировании). - В данном случае, функция
gettext()
используется для получения строки, отформатированной с использованием текущей локали. В данном случае передается строкаlalala
, которая будет заменяться на соответствующую строку на основе текущей локали. - Функция
fprintf()
записывает строку формата и значение в файлout
. - Код не содержит инструкций для изменения локали.
- Код не содержит инструкций для проверки ошибок.
- Код не содержит инструкций для закрытия файла
out
. - Код не содержит инструкций для освобождения памяти.
- Код не содержит инструкций для изменения значения переменной
out
. - Код не содержит инструкций для изменения значения переменной
gettext(
lalala)
. - Код не содержит инструкций для изменения значения переменной
format
. - Код не содержит инструкций для изменения значения переменной
out
. - Код не содержит инструкций для изменения значения переменной
gettext(
lalala)
. - Код не содержит инструкций для изменения значения переменной
format
. - Код не содержит инструкций для изменения значения переменной
out
. - Код не содержит инструкций для изменения значения переменной
gettext(
lalala)
. - Код не содержит инструкций для изменения значения переменной
format
. - Код не содержит инструкций для изменения значения переменной
out
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д