Spec-Zone.ru › C++

Библиотека локализации

Средства работы с локалью включают поддержку интернационализации для классификации символов и сортировки строк, форматирования и разбора числовых, денежных значений и даты/времени, а также получения сообщений. Настройки локали управляют поведением потокового ввода-вывода, библиотеки регулярных выражений и других компонентов стандартной библиотеки C++.

Локали и фасеты

Определено в заголовочном файле <locale>
Локали
locale
набор полиморфных фасетов, инкапсулирующих культурные различия
(класс)
use_facet
получает фасет из локали
(шаблон функции)
has_facet
проверяет, реализует ли локаль определённый фасет
(шаблон функции)
Базовые классы категорий фасетов
ctype_base
определяет категории классификации символов
(класс)
codecvt_base
определяет ошибки преобразования символов
(класс)
messages_base
определяет тип каталога сообщений
(класс)
time_base
определяет константы форматов даты
(класс)
money_base
определяет шаблоны форматирования денежных значений
(класс)
Фасеты ctype
ctype
определяет таблицы классификации символов
(шаблон класса)
ctype_byname
представляет предоставляемый системой std::ctype для локали с заданным именем
(шаблон класса)
ctype<char>
специализация std::ctype для типа char
(специализация шаблона класса)
codecvt
преобразует данные между кодировками символов, включая UTF-8, UTF-16 и UTF-32
(шаблон класса)
codecvt_byname
представляет предоставляемый системой std::codecvt для локали с заданным именем
(шаблон класса)
Числовые фасеты
num_get
разбирает числовые значения из входной последовательности символов
(шаблон класса)
num_put
форматирует числовые значения для вывода в виде последовательности символов
(шаблон класса)
numpunct
определяет правила расстановки числовых разделителей
(шаблон класса)
numpunct_byname
представляет предоставляемый системой std::numpunct для локали с заданным именем
(шаблон класса)
Фасеты сравнения строк
collate
определяет лексикографическое сравнение и хеширование строк
(шаблон класса)
collate_byname
представляет предоставляемый системой std::collate для локали с заданным именем
(шаблон класса)
Фасеты времени
time_get
разбирает значения времени и даты из входной последовательности символов в std::tm
(шаблон класса)
time_get_byname
представляет предоставляемый системой std::time_get для локали с заданным именем
(шаблон класса)
time_put
форматирует содержимое std::tm для вывода в виде последовательности символов
(шаблон класса)
time_put_byname
представляет предоставляемый системой std::time_put для локали с заданным именем
(шаблон класса)
Денежные фасеты
money_get
разбирает и формирует денежное значение из входной последовательности символов
(шаблон класса)
money_put
форматирует денежное значение для вывода в виде последовательности символов
(шаблон класса)
moneypunct
определяет параметры форматирования денежных значений, используемые std::money_get и std::money_put
(шаблон класса)
moneypunct_byname
представляет предоставляемый системой std::moneypunct для локали с заданным именем
(шаблон класса)
Фасеты сообщений
messages
реализует получение строк из каталогов сообщений
(шаблон класса)
messages_byname
представляет предоставляемый системой std::messages для локали с заданным именем
(шаблон класса)

Классификация и преобразование символов

Определено в заголовочном файле <locale>
Классификация символов
isspace(std::locale)
проверяет, классифицируется ли символ локалью как пробельный
(шаблон функции)
isblank(std::locale)
(C++11)
проверяет, классифицируется ли символ локалью как пробел
(шаблон функции)
iscntrl(std::locale)
проверяет, классифицируется ли символ локалью как управляющий
(шаблон функции)
isupper(std::locale)
проверяет, классифицируется ли символ локалью как заглавный
(шаблон функции)
islower(std::locale)
проверяет, классифицируется ли символ локалью как строчный
(шаблон функции)
isalpha(std::locale)
проверяет, классифицируется ли символ локалью как буквенный
(шаблон функции)
isdigit(std::locale)
проверяет, классифицируется ли символ локалью как цифра
(шаблон функции)
ispunct(std::locale)
проверяет, классифицируется ли символ локалью как знак пунктуации
(шаблон функции)
isxdigit(std::locale)
проверяет, классифицируется ли символ локалью как шестнадцатеричная цифра
(шаблон функции)
isalnum(std::locale)
проверяет, классифицируется ли символ локалью как буквенно-цифровой
(шаблон функции)
isprint(std::locale)
проверяет, классифицируется ли символ локалью как печатный
(шаблон функции)
isgraph(std::locale)
проверяет, классифицируется ли символ локалью как графический
(шаблон функции)
Преобразования символов
toupper(std::locale)
преобразует символ в верхний регистр с помощью фасета ctype локали
(шаблон функции)
tolower(std::locale)
преобразует символ в нижний регистр с помощью фасета ctype локали
(шаблон функции)
Преобразования строк и потоков
wstring_convert
(C++11)(устарело в C++17)(удалено в C++26)
выполняет преобразования между широкой строкой и байтовой строкой
(шаблон класса)
wbuffer_convert
(C++11)(устарело в C++17)(удалено в C++26)
выполняет преобразование между буфером байтового потока и буфером широкого потока
(шаблон класса)

Фасеты преобразования Юникода, независимые от локали

Определено в заголовочном файле <codecvt>
codecvt_utf8
(C++11)(устарело в C++17)(удалено в C++26)
преобразует данные между UTF-8 и UCS-2/UCS-4
(шаблон класса)
codecvt_utf16
(C++11)(устарело в C++17)(удалено в C++26)
преобразует данные между UTF-16 и UCS-2/UCS-4
(шаблон класса)
codecvt_utf8_utf16
(C++11)(устарело в C++17)(удалено в C++26)
преобразует данные между UTF-8 и UTF-16
(шаблон класса)
codecvt_mode
(C++11)(устарело в C++17)(удалено в C++26)
теги для изменения поведения стандартных фасетов codecvt
(перечисление)
(до C++26)

Локали библиотеки C

Определено в заголовочном файле <clocale>
setlocale
получает и задаёт текущую локаль C
(функция)
LC_ALLLC_COLLATELC_CTYPELC_MONETARYLC_NUMERICLC_TIME
категории локали для std::setlocale
(макроконстанта)
localeconv
получает сведения о форматировании чисел и денежных значений в текущей локали
(функция)
lconv
сведения о форматировании, возвращаемые std::localeconv
(класс)

См. также

Документация по C для поддержки локализации

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/locale

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API