Biblioteca C - <locale.h>
o locale.hheader define as configurações específicas do local, como formatos de data e símbolos de moeda. Você encontrará várias macros definidas juntamente com uma estrutura importantestruct lconv e duas funções importantes listadas abaixo.
Macros de biblioteca
A seguir estão as macros definidas no cabeçalho e essas macros serão usadas em duas funções listadas abaixo -
Sr. Não. | Macro e descrição |
---|---|
1 | LC_ALL Define tudo. |
2 | LC_COLLATE Afeta as funções strcoll e strxfrm. |
3 | LC_CTYPE Afeta todas as funções do personagem. |
4 | LC_MONETARY Afeta as informações monetárias fornecidas pela função localeconv. |
5 | LC_NUMERIC Afeta a formatação do ponto decimal e as informações fornecidas pela função localeconv. |
6 | LC_TIME Afeta a função strftime. |
Funções de biblioteca
A seguir estão as funções definidas no cabeçalho locale.h -
Sr. Não. | Descrição da função |
---|---|
1 | char * setlocale (int category, const char * locale) Define ou lê informações dependentes de localização. |
2 | struct lconv * localeconv (void) Define ou lê informações dependentes de localização. |
Estrutura da Biblioteca
typedef struct {
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
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;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
} lconv
A seguir está a descrição de cada um dos campos -
Sr. Não. | Campo e Descrição |
---|---|
1 | decimal_point Caractere de ponto decimal usado para valores não monetários. |
2 | thousands_sep Caractere separador de milhares de lugares usado para valores não monetários. |
3 | grouping Uma string que indica o tamanho de cada grupo de dígitos em quantidades não monetárias. Cada caractere representa um valor inteiro, que designa o número de dígitos no grupo atual. Um valor 0 significa que o valor anterior deve ser usado para o resto dos grupos. |
4 | int_curr_symbol É uma sequência de símbolos de moeda internacionais usados. Os primeiros três caracteres são os especificados pela ISO 4217: 1987 e o quarto é o caractere, que separa o símbolo da moeda da quantidade monetária. |
5 | currency_symbol O símbolo local usado para moeda. |
6 | mon_decimal_point O caractere de ponto decimal usado para valores monetários. |
7 | mon_thousands_sep O caractere de agrupamento de milhares de lugares usado para valores monetários. |
8 | mon_grouping Uma string cujos elementos definem o tamanho do agrupamento de dígitos em valores monetários. Cada caractere representa um valor inteiro que designa o número de dígitos no grupo atual. Um valor 0 significa que o valor anterior deve ser usado para o resto dos grupos. |
9 | positive_sign O caractere usado para valores monetários positivos. |
10 | negative_sign O caractere usado para valores monetários negativos. |
11 | int_frac_digits Número de dígitos a serem mostrados após o ponto decimal em valores monetários internacionais. |
12 | frac_digits Número de dígitos a serem mostrados após o ponto decimal em valores monetários. |
13 | p_cs_precedes Se for igual a 1, então o currency_symbol aparecerá antes de um valor monetário positivo. Se for igual a 0, então o currency_symbol aparecerá após um valor monetário positivo. |
14 | p_sep_by_space Se for igual a 1, então o currency_symbol é separado por um espaço de um valor monetário positivo. Se for igual a 0, então não há espaço entre o currency_symbol e um valor monetário positivo. |
15 | n_cs_precedes Se for igual a 1, então o currency_symbol precede um valor monetário negativo. Se for igual a 0, então o currency_symbol obtém um valor monetário negativo. |
16 | n_sep_by_space Se for igual a 1, então o currency_symbol é separado por um espaço de um valor monetário negativo. Se for igual a 0, não há espaço entre currency_symbol e um valor monetário negativo. |
17 | p_sign_posn Representa a posição do sinal positivo em um valor monetário positivo. |
18 | n_sign_posn Representa a posição do sinal negativo em um valor monetário negativo. |
Os seguintes valores são usados para p_sign_posn e n_sign_posn -
Valor | Descrição |
---|---|
0 | Os parênteses encapsulam o valor e o currency_symbol. |
1 | O sinal precede o valor e currency_symbol. |
2 | O sinal sucede o valor e currency_symbol. |
3 | O sinal precede imediatamente o valor e currency_symbol. |
4 | O sinal vem imediatamente após o valor e currency_symbol. |