#include <locale.h>
Файл <locale.h> описывает типы данных, функции и макросы, необходимые для выполнения этой задачи.
В нем описаны функции: setlocale(), устанавливающая текущие региональные настройки, и localeconv(), которая возвращает информацию о форматировании чисел.
Существуют различные категории локализации, которые программа может использовать; они описаны как макросы. Используя их в качестве первого аргумента функции setlocale(), можно установить региональные настройки одной из следующих категорий:
Если второй аргумент функции setlocale()--- пустая строка , то локализация по умолчанию будет определяться следующим образом:
Информация о локальном форматировании чисел доступна в структуре struct lconv, возвращаемой функцией localeconv(), которая описана следующим образом:
struct lconv
{
/* Числовая (не связанная с деньгами) информация. */
char *decimal_point; /* Символ десятичного разделителя. */
char *thousands_sep; /* Разделитель тысяч. */
/* Каждый элемент является номером цифры в каждой группе;
большие элементы указывают на крайние слева значения.
Элемент с значением CHAR_MAX означает, что старших групп больше нет.
Элемент со значением 0 указывает, что предыдущий элемент используется
для всех групп, находящихся левее. */
char *grouping;
/* Денежная информация. */
/* Первые три символа являются символом валюты согласно ISO 4217.
Четвертый символ является разделителем. Пятый символ равен '\0'. */
char *int_curr_symbol;
char *currency_symbol; /* Местный символ валюты. */
char *mon_decimal_point; /* Символ десятичной точки. */
char *mon_thousands_sep; /* Разделитель тысяч. */
char *mon_grouping; /* См. выше описание элемента `grouping' */
char *positive_sign; /* Знак положительных значений. */
char *negative_sign; /* Знак отрицательных значений. */
char int_frac_digits; /* Представление дробных чисел в международном варианте. */
char frac_digits; /* Представление дробных чисел в локальном варианте. */
/* 1, если символ валюты предшествует положительному значению,
0, если следует за ним. */
char p_cs_precedes;
/* 1, если пробел отделяет символ валюты от положительного значения. */
char p_sep_by_space;
/* 1, если символ валюты предшествует отрицательному значению,
0, если следует за ним. */
char n_cs_precedes;
/* 1, если пробел отделяет символ валюты от отрицательного значения. */
char n_sep_by_space;
/* Позиция положительного или отрицательного знака:
0 Скобки окружают количество и символ валюты.
1 Знак предшествует количеству и символу валюты.
2 Знак следует за количеством и символом валюты.
3 Знак непосредственно предшествует символу валюты.
4 Знак непосредственно следует за символом валюты. */
char p_sign_posn;
char n_sign_posn;
};
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |