- locale.h
-
Стандартная библиотека
языка программирования Сlocale.h — заголовочный файл стандартной библиотеки языка программирования С, который используется для задач, связанных с локализацией.
Содержание
Типы данных
Заголовочный файл объявляет структуру
lconvи её поля, которая хранит инфомацию о текущей кодировке для форматирования чисел.[1]Название Функция Значение для "C"char *decimal_pointРазделитель десятичных чисел для неденежных величин "."char *thousands_sepРазделитель тысяч для неденежных величин ""char *groupingСтрока, элементы которой отображают размер каждой группы чисел для форматированных неденежных величин ""char *mon_decimal_pointРазделитель десятичных чисел для денежных величин ""char *mon_thousands_sepРазделитель тысяч для денежных величин ""char *mon_groupingСтрока, элементы которой отображают размер каждой группы чисел для форматированных денежных величин ""char *positive_signСимвол, отображающий неотрицательность для денежных величин ""char *negative_signСимвол, отображающий отрицательность денежных величин ""char *currency_symbolЗнак валюты ""char frac_digitsЧисло дробных знаков для денежных величин CHAR_MAXchar p_cs_precedes1 если знак валюты предшествует неотрицательной денежной величине и 0 в противном случае CHAR_MAXchar n_cs_precedes1 если знак валюты предшествует отрицательной денежной величине и 0 в противном случае CHAR_MAXchar p_sep_by_spaceУказывает промежуток между символом валюты, знаком и неотрицательной денежной величиной CHAR_MAXchar n_sep_by_spaceУказывает промежуток между символом валюты, знаком и отрицательной денежной величиной CHAR_MAXchar p_sign_posnУказывает позицию положительного знака для неотрицательных денежных величин CHAR_MAXchar n_sign_posnУказывает позицию отрицательного знака для отрицательных денежных величин CHAR_MAXchar *int_curr_symbolМеждународный символ валюты ""char int_frac_digitsКоличество дробных чисел для денежных величин в международном формате CHAR_MAXchar int_p_cs_precedes1 если международный валютный символ предшествует неотрицательной денежной величине и 0 наоборот CHAR_MAXchar int_n_cs_precedesтоже самое для отрицательных денежных величин в международном формате CHAR_MAXchar int_p_sep_by_spaceУказывает расстояние между знаком, символом и значением денежной величины в международном формате CHAR_MAXchar int_n_sep_by_spaceтоже самое для отрицательных чисел CHAR_MAXchar int_p_sign_posnУказывает расстояние между положительным знаком и денежной величиной в международном формате CHAR_MAXchar int_n_sign_posnтоже самое для отрицательных денежных величин в международном формате CHAR_MAXМакросы
Заголовочный файл определяет следующие макросы-категории:[1]
Название Затрагивает LC_ALL все параметры локализации LC_COLLATE поведение функций srtcoll и strxfrm LC_CTYPE поведение всех функций из ctype.h кроме isdigit и isxdigit LC_MONETARY отображение денежных величин LC_NUMERIC отображение десятичных чисел LC_TIME поведение strftime и wcstrftime Функции
#include <locale.h> struct lconv *localeconv(void); char *setlocale(int category, const char *locale);
Функция
localeconvполучает текущую кодировку.Функция
setlocaleустанавливает новую локализацию для операций, связанных с категориейcategory(является одной из предопределённых макросами). Стандарт определяет следующие кодировки:""— локализация по умолчанию для данной платформы"C"— минимальная локализация для окружения языка Си
и иные системно-зависимые.[1]
Если запрос на изменение локализации может быть удовлетворён, функция возвращает текущую локализацию для категории
category. В противном случае возвращается NULL.При запуске программы используется
"C"локализация.Пример кода
#include <stdio.h> #include <locale.h> int main(void) { struct lconv* currentlocale; currentlocale = localeconv(); printf("In current locale standart currency symbol is %c\n", *(currentlocale->currency_symbol)); return 0; }
Ссылки
locale.h— основные определения, The Single UNIX® Specification, выпуск 7 от The Open Group (англ.)localeconv— системные интерфейсы, The Single UNIX® Specification, выпуск 7 от The Open Group (англ.)setlocale— системные интерфейсы, The Single UNIX® Specification, выпуск 7 от The Open Group (англ.)
Примечания
- ↑ 1 2 3 ISO/IEC 9899:1999
Категория:- Стандартные библиотечные заголовки языка Си
Wikimedia Foundation. 2010.