Libreria C - <locale.h>
Il locale.hL'intestazione definisce le impostazioni specifiche della località, come i formati della data e i simboli di valuta. Troverai diverse macro definite insieme a una struttura importantestruct lconv e due importanti funzioni elencate di seguito.
Macro di libreria
Di seguito sono riportate le macro definite nell'intestazione e queste macro verranno utilizzate in due funzioni elencate di seguito:
Sr.No. | Macro e descrizione |
---|---|
1 | LC_ALL Imposta tutto. |
2 | LC_COLLATE Ha effetto sulle funzioni strcoll e strxfrm. |
3 | LC_CTYPE Ha effetto su tutte le funzioni dei caratteri. |
4 | LC_MONETARY Influisce sulle informazioni monetarie fornite dalla funzione localeconv. |
5 | LC_NUMERIC Influisce sulla formattazione del punto decimale e sulle informazioni fornite dalla funzione localeconv. |
6 | LC_TIME Colpisce la funzione strftime. |
Funzioni di libreria
Di seguito sono riportate le funzioni definite nell'intestazione locale.h -
Sr.No. | Descrizione della funzione |
---|---|
1 | char * setlocale (int category, const char * locale) Imposta o legge le informazioni dipendenti dalla posizione. |
2 | struct lconv * localeconv (void) Imposta o legge le informazioni dipendenti dalla posizione. |
Struttura della libreria
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
Di seguito è riportata la descrizione di ciascuno dei campi:
Sr.No. | Campo e descrizione |
---|---|
1 | decimal_point Carattere punto decimale utilizzato per valori non monetari. |
2 | thousands_sep Migliaia di caratteri di separazione dei luoghi utilizzati per i valori non monetari. |
3 | grouping Una stringa che indica la dimensione di ogni gruppo di cifre in quantità non monetarie. Ogni carattere rappresenta un valore intero, che designa il numero di cifre nel gruppo corrente. Un valore di 0 significa che il valore precedente deve essere utilizzato per il resto dei gruppi. |
4 | int_curr_symbol È una stringa dei simboli di valuta internazionale utilizzati. I primi tre caratteri sono quelli specificati da ISO 4217: 1987 e il quarto è il carattere, che separa il simbolo di valuta dalla quantità monetaria. |
5 | currency_symbol Il simbolo locale utilizzato per la valuta. |
6 | mon_decimal_point Il carattere del punto decimale utilizzato per i valori monetari. |
7 | mon_thousands_sep Il carattere di raggruppamento delle migliaia utilizzato per i valori monetari. |
8 | mon_grouping Una stringa i cui elementi definiscono la dimensione del raggruppamento di cifre in valori monetari. Ogni carattere rappresenta un valore intero che designa il numero di cifre nel gruppo corrente. Un valore di 0 significa che il valore precedente deve essere utilizzato per il resto dei gruppi. |
9 | positive_sign Il carattere utilizzato per valori monetari positivi. |
10 | negative_sign Il carattere utilizzato per i valori monetari negativi. |
11 | int_frac_digits Numero di cifre da mostrare dopo il punto decimale nei valori monetari internazionali. |
12 | frac_digits Numero di cifre da mostrare dopo il punto decimale nei valori monetari. |
13 | p_cs_precedes Se è uguale a 1, il simbolo currency_symbol viene visualizzato prima di un valore monetario positivo. Se è uguale a 0, il simbolo currency_symbol viene visualizzato dopo un valore monetario positivo. |
14 | p_sep_by_space Se è uguale a 1, il currency_symbol è separato da uno spazio da un valore monetario positivo. Se è uguale a 0, non c'è spazio tra currency_symbol e un valore monetario positivo. |
15 | n_cs_precedes Se è uguale a 1, il currency_symbol precede un valore monetario negativo. Se è uguale a 0, il currency_symbol sostituisce un valore monetario negativo. |
16 | n_sep_by_space Se è uguale a 1, il currency_symbol è separato da uno spazio da un valore monetario negativo. Se è uguale a 0, non c'è spazio tra currency_symbol e un valore monetario negativo. |
17 | p_sign_posn Rappresenta la posizione di positive_sign in un valore monetario positivo. |
18 | n_sign_posn Rappresenta la posizione di negative_sign in un valore monetario negativo. |
I seguenti valori vengono utilizzati per p_sign_posn e n_sign_posn -
Valore | Descrizione |
---|---|
0 | Le parentesi racchiudono il valore e il currency_symbol. |
1 | Il segno precede il valore e il simbolo_valuta. |
2 | Il segno segue il valore e il simbolo_valuta. |
3 | Il segno precede immediatamente il valore e il currency_symbol. |
4 | Il segno sostituisce immediatamente value e currency_symbol. |