Функция nl_langinfo обеспечивает доступ к информации о локали
более гибким способом, чем позволяет это функция
localeconv(3).
Могут быть запрошены отдельные (дополнительные) элементы в разных
категориях локали.
В качестве запрашиваемых элементов локали в поле item
могут быть указаны определенные в <langinfo.h> константы:
CODESET (LC_CTYPE)
Возвращает строку с названием кодировки символов, используемой в
выбранной локали, например "UTF-8", "ISO-8859-1", или "ANSI_X3.4-1968"
(более известной, как US-ASCII). Это такая-же строка, что вы получите
при использовании параметра "locale charmap". Для вывода списка названий
кодировок символов попробуйте указать "locale -m", (смотрите
locale(1)).
D_T_FMT (LC_TIME)
Возвращает строку, которую можно использовать как строку формата для функции
strftime(3)
для представления времени и даты в формате данной локали.
D_FMT (LC_TIME)
Возвращает строку, которую можно использовать как строку формата для функции
strftime(3)
для представления даты в формате данной локали.
T_FMT (LC_TIME)
Возвращает строку, которую можно использовать как строку формата для функции
strftime(3)
для представления времени в формате данной локали.
DAY_{1-7} (LC_TIME)
Возвращает название n-го дня недели. [ВНИМАНИЕ: подразумевается
формат США, в котором DAY_1 = Воскресенье, а не интернациональный формат
(ISO 8601), в котором первым днем недели является Понедельник.]
ABDAY_{1-7} (LC_TIME)
Возвращает сокращенное название n-го дня недели.
MON_{1-12} (LC_TIME)
Возвращает название n-го месяца.
ABMON_{1-12} (LC_TIME)
Возвращает сокращенное название n-го месяца.
RADIXCHAR (LC_NUMERIC)
Возвращает математический разделитель (десятичную точку, запятую и т.п.).
THOUSEP (LC_NUMERIC)
Возвращает разделитель тысячных разрядов (групп по 3 цифры).
YESEXPR (LC_MESSAGES)
Возвращает регулярное выражение, которое может быть использовано функцией
regex(3)
для распознания положительного ответа на вопрос да/нет.
NOEXPR (LC_MESSAGES)
Возвращает регулярное выражение, которое может быть использовано функцией
regex(3)
для распознания отрицательного ответа на вопрос да/нет.
CRNCYSTR (LC_MONETARY)
Возвращает обозначение валюты, с предшествующими символами:
"-", если знак валюты должен стоять перед числами,
"+", если знак валюты должен стоять за числами, или
".", если знак валюты должен заменять десятичный разделитель.
Список вышеперечисленных элементов - это всего лишь небольшая часть того, что
может быть запрошено. Более подробный список можно узнать в
The GNU C Library Reference Manual.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Если не была указана локаль для соответствующей категории, то
nl_langinfo возвращает указатель на соответствующую строку
в локали "C".
Если item указано неправильно, то возвращается указатель на пустую строку.
Данный указатель может указывать на статические данные, которые могут быть
уничтожены последующим вызовом nl_langinfo или setlocale.