|
Программирование >> Структурное программирование
Функция setlocale выбирает соответствующую часть локализации программы, определяемую параметрами category и locale, и может использоваться для того, чтобы изменять или запрашивать состояние текущей локализации целиком или ее частей. Значение LC ALL для параметра category обозначает локализацию целиком; другие значения параметра category задают только часть локализации. LC COLLATE определяет поведение функций strcoll и strxfrm. LC CTYPE воздействует на функции обработки символов и многобайтовые функции. LC MONETARY относится к возвращаемой функцией localeconv части локализации, имеющей дело с информацией о форматировании монетарных данных. LC NUMERIC касается части локализации, информация случае, аргумент будет возвращен неизмененным (Замечание: к сожалению, для символов кириллищл функция не работает). А.5. Локализации (характеристики той или иной культурной среды - форматы времени, денежные единицы и т.п.) <locale.h> LC ALL LC COLLATE LC CTYPE LC MONETARY LC NUMERIC LC TIME Это символические целочисленные константы, необходимые для использования в качестве первого аргумента функции setlocale. NULL Константа нулевого указателя, зависящая от используемой системы, struct Iconv Элементы этой структуры определяют форматирование численных значений. Структура должна содержать в любом порядке по крайней мере элементы, перечисленные ниже. В локализации С элементы структуры должны иметь значения, указанные в комментариях. о которой возвращается функцией localeconv и которая определяет символ десятичной точки в функциях форматированного ввода-вывода, функции преобразования строк и форматирование немонетарных данных. LC TIME определяет поведение функции strftime. Локализация с именем С определяет минимальные установки окружения, необходимые для компиляции программ на С; значение подразумевает локализацию по умолчанию данной версии системы программирования. Функции setlocale можно передавать и другие имена, определяемые в используемой версии компилятора. При запуске программы выполняются действия, эквивалентные вызову функции setlocale (LC ALL, С ); Если выбор указанной параметром locale локализации оказался успешным, функция setlocale возвращает указатель на строку, указанную в category, связанную с новой локализацией. В случае, если установка локализации оказывается неудачной, функция setlocale возвращает нулевой указатель и локализация программы не изменяется. Если в качестве аргумента locale передается нулевой указатель, то функция setlocale возвращает указатель на строку, связанную с указанной значением аргумента category текущей локализации программы; локализация программы при этом не изменяется. Если указатель на строку, возвращаемый setlocale, использовать как аргумент при последующем вызове setlocale с соответствующим значением category, то параметры локализации будут восстановлены. Эта строка, на которую ссылается указатель, может изменяться программой и может быть переписана при последующем обращении к функции setlocale. struct Iconv *localeconv (void); Функция localeconv задает элементам объекта типа struct Iconv, ответственным за форматирование численных величин (монетарных и немонетарных), значения, соответствующие правилам текущей среды. Все элементы структуры типа char * (за исключением decimaljpoint) могут ссылаться на пустую строку ; это означает, что данный параметр недоступен в данной локализации или он равен нулю. Члены типа char имеют целые положительные значения и любой из них может принимать значение CHAR MAX, которое указывает на то, что значение не доступно в текущей локализации. Ниже приводится описание членов структуры: char *decimal point Символ десятичной точки, используемый для форматирования немонетарных величин. char *thousands sep Символ, используемый для разделения групп цифр перед символом десятичной точки в форматированных немонетарных величинах. char *grouping Строка, элементы которой обозначают размер каждой группы цифр форматированной немонетарной величины. char *int curr symboI Указатель на строку символов, содержащую международный знак денежной единицы, применяемый в текущей локализации. Первые три символа содержат алфавитно-цифровой международный знак денежной единицы в соответствии с его определением в ISO 4217:1987. Четвертый символ (непосредственно предшествующий нулевому символу) используется для отделения международного знака денежной единицы от значения денежной суммы. char *сиггепсу зутЬо1 Знак местной денежной единицы, применяемый в текущей локализации. char *mon decimal point Символ десятичной точки, используемый для форматирования монетарных величин. char *mon thousands sep Символ, используемый для разделения групп цифр перед символом десятичной точки в форматированных монетарных величинах. char *mon grouping Строка, элементы которой обозначают размер каждой группы цифр форматированной монетарной величины. char *positive sign Строка, используемая для обозначения неотрицательных форматированных монетарных данных. char *negative sign Строка, используемая для обозначения отрицательных форматированных монетарных данных. char int frac digits Количество цифр дробной части (т. е. после десятичной точки) в представлении международных форматированных монетарных величин. char frac digits Количество цифр дробной части (т. е. после десятичной точки) в представлении форматированных монетарных величин. char p cs precedes Значение 1 или О этой величины определяет расположение знака денежной единицы в неотрицательных монетарных величинах: перед денежной суммой или после нее соответственно. char p sep by space Значение 1 или О этой величины определяет, отделяется или не отделяется пробелом денежный символ в неотрицательных монетарных величинах от значения денежной суммы. char n cs precedes Значение 1 или О этой величины определяет расположение знака денежной единицы в отрицательных монетарных величинах: перед денежной суммой или после нее соответственно. char n sep by space Значение 1 или О этой величины определяет, отделяется или не отделяется пробелом денежный символ в отрицательных монетарных величинах от значения денежной суммы.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |