Locale.h

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 30. dubna 2016; kontroly vyžadují 5 úprav .

locale.h  je hlavičkový soubor standardní knihovny programovacího jazyka C , který se používá pro úlohy související s lokalizací.

Datové typy

Soubor záhlaví deklaruje strukturu lconva její pole, která ukládají informace o aktuálním kódování pro formátování čísel. [jeden]

název Funkce Význam pro"C"
char *decimal_point Desetinný oddělovač pro nepeněžní hodnoty "."
char *thousands_sep Oddělovač tisíců pro nepeněžní hodnoty ""
char *grouping Řetězec, jehož prvky zobrazují velikost každé skupiny čísel pro formátované neměnové hodnoty ""
char *mon_decimal_point Desetinný oddělovač pro peněžní hodnoty ""
char *mon_thousands_sep Oddělovač tisíců pro peněžní hodnoty ""
char *mon_grouping Řetězec, jehož prvky zobrazují velikost každé skupiny čísel pro formátované peněžní hodnoty ""
char *positive_sign Symbol představující nezápornost pro peněžní hodnoty ""
char *negative_sign Symbol představující negativitu peněžních hodnot ""
char *currency_symbol Znak měny ""
char frac_digits Počet desetinných míst pro peněžní hodnoty CHAR_MAX
char p_cs_precedes 1, pokud znak měny předchází nezápornou hodnotu měny, a 0 v opačném případě CHAR_MAX
char n_cs_precedes 1, pokud znak měny předchází zápornou hodnotu měny, a 0 v opačném případě CHAR_MAX
char p_sep_by_space Určuje mezeru mezi symbolem měny, znakem a nezápornou hodnotou měny CHAR_MAX
char n_sep_by_space Určuje mezeru mezi symbolem měny, znakem a zápornou hodnotou měny CHAR_MAX
char p_sign_posn Určuje pozici kladného znaménka pro nezáporné hodnoty měny CHAR_MAX
char n_sign_posn Určuje pozici záporného znaménka pro záporné hodnoty měny CHAR_MAX
char *int_curr_symbol Mezinárodní symbol měny ""
char int_frac_digits Počet zlomkových čísel pro peněžní hodnoty v mezinárodním formátu CHAR_MAX
char int_p_cs_precedes 1, pokud mezinárodní symbol měny předchází nezápornou hodnotu měny a 0 naopak CHAR_MAX
char int_n_cs_precedes totéž pro záporné hodnoty měn v mezinárodním formátu CHAR_MAX
char int_p_sep_by_space Určuje vzdálenost mezi znakem, symbolem a hodnotou mezinárodní měny CHAR_MAX
char int_n_sep_by_space totéž pro záporná čísla CHAR_MAX
char int_p_sign_posn Určuje vzdálenost mezi kladným znaménkem a hodnotou měny v mezinárodním formátu CHAR_MAX
char int_n_sign_posn totéž pro záporné hodnoty měn v mezinárodním formátu CHAR_MAX

Makra

Soubor záhlaví definuje následující makra kategorií: [1]

název Ovlivňuje
LC_ALL všechny možnosti lokalizace
LC_COLLATE chování funkcí strcoll a strxfrm
LC_CTYPE chování všech funkcí z ctype.h kromě isdigit a isxdigit
LC_MONETARY zobrazení peněžních hodnot
LC_NUMERIC desetinné zobrazení
LC_TIME chování strftime a wcstrftime

Funkce

#include <locale.h> struct lconv * localeconv ( void ); char * setlocale ( int kategorie , const char * locale );

Funkce localeconvzíská aktuální kódování.

Funkce setlocalenastaví novou lokalizaci pro operace spojené s kategorií category(je to jedno z předdefinovaných maker). Norma definuje následující kódování:

  1. "" - výchozí lokalizace pro tuto platformu
  2. "C" — minimální lokalizace pro prostředí jazyka C

a další závislé na systému. [jeden]

Pokud lze vyhovět požadavku na změnu lokalizace, funkce vrátí aktuální lokalizaci pro kategorii category. V opačném případě je vrácena hodnota NULL .

"C"Lokalizace se používá při spouštění programu .

Ukázkový kód

#include <stdio.h> #include <locale.h> int main ( void ) { struct lconv * currentlocale ; currentlocale = localconv (); printf ( "V aktuálním národním prostředí je standardní symbol měny %c \n " , * ( aktuální národní prostředí -> symbol_měny )); návrat 0 ; }

Příklad použití funkce (setlocale)

#include <stdio.h> #include <locale.h> int main ( void ) { setlocale ( LC_ALL , "RU" ); printf ( "Ahoj světe! \n " ); návrat 0 ; }

Odkazy

Poznámky

  1. 1 2 3 ISO/IEC 9899:1999 . Získáno 31. července 2011. Archivováno z originálu 22. srpna 2011.