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.