locale
1. locale.7.man
Manpage of LOCALE
LOCALE
Section: Linux - příručka programátora (7)Updated: 17. července 1998
Index Return to Main Contents
JMÉNO
locale - Popis vícejazykové podporySYNTAXE
#include <locale.h>
POPIS
Locale je množina jazykových a kulturních pravidel pro popis takových aspektu jako jsou jazyk pro zprávy, různé znakové sady, abecední řazení atd. Každý program musí mít možnost zjistit jeho locale a chovat se podle jím daných pravidel.Hlavičkový soubor <locale.h> deklaruje datové typy, funkce a makra, která tuto přenositelnost usnadňuje.
Deklarované funkce: setlocale() pro nastavení aktuálního lacale a localeconv() pro zjištění informací o formátování čísel.
Různé kategorie pro lokální informace jsou definovány jako makra. Jestliže se použijí jako první argument pro funkci setlocale() je možno nastavit jednu z požadovaných kategorií:
- LC_COLLATE
- Mění chování funkcí strcoll() a strxfrm(), které se používají na porovnání řetězců v lokální abecedě, Například, ostré německé s se třídí jako "ss".
- LC_CTYPE
- Mění chování klasifikačních funkcí a maker jako isupper() a toupper(), a funkcí pro vícebytové znaky jako je mblen() nebo wctomb().
- LC_MONETARY
- Mění návratovou hodnotu funkce localeconv() , která popisuje způsob jak jsou tištěna čísla, včetně detailů o desetinné tečce či čárce. Interně je tato informace použita ve funkci strfmon() .
- LC_MESSAGES
- mění jazyk zpráv a určuje jak vypadá pozitivní a negativní odpověď v daném jazyce. GNU C-lib obsahuje pro tento účel funkci rpmatch() .
- LC_NUMERIC
- Mění chování funkcí printf() a scanf() kdykoli mají použít nastavení locale. Tuto informaci lze také číst pomocí funkce localeconv() .
- LC_TIME
- mění chování funkcí strftime() , která zobrazuje současný čas podle lokálních pravidel; například v Evropě se běžně používá 24 hodinový den, zatímco v USA 12 hodinový.
- LC_ALL
- Nastavuje vše.
Jestliže je druhý argument pro setlocale() prázdný řetězec, , hledá se základní locale takto:
- 1.
- Jestliže je nastavena proměnná prostředí LC_ALL, použije se LC_ALL .
- 2.
- Jestliže existuje proměnná prostředí, která se jmenuje stejně jako některá z kategorií, použije se tato.
- 3.
- Jestliže je nastavena proměnná prostředí LANG, použije se hodnota LANG .
Hodnoty pro číselnou konverzi jsou nastaveny ve struct lconv , kterou vrací funkce localeconv() , má následující deklaraci:
struct lconv
{
/* Číselná (nikoli peněžní) informace */
char *decimal_point; /* Znak pro desetinnou čárku */
char *thousands_sep; /* Oddělovač tisíců */
/* Každý prvek označuje počet číslic ve skupině;
významnější hodnoty se zobrazují více vlevo.
Pozice CHAR_MAX určuje odkud se již žádné oddělování nečiní.
Prvek s hodnotou 0 označuje, že předchozí prvek se použije odtud
doleva. */
char *grouping;
/* Peněžní informace. */
/* První tři znaky jsou symbolem měny podle ISO 4217.
Čtvrtý znak je oddělovač, pátý je ' ' */
char *int_curr_symbol;
char *currency_symbol; /* Lokální symbol pro měnu */
char *mon_decimal_point; /* desetinné čárka */
char *mon_thousands_sep; /* oddělovač tisíců */
char *mon_grouping; /* Viz grouping nahoře */
char *positive_sign; /* Kladné znaménko */
char *negative_sign; /* Záporné znaménko */
char int_frac_digits; /* Mezinárodní počet des. míst */
char frac_digits; /* Lokální počet des. míst */
/* 1 když znak měny předchází číslo, 0 když jej následuje */
char p_cs_precedes;
/* 1 když mezera odděluje currency_symbol od desetinné čárky */
char p_sep_by_space;
/* 1 když currency_symbol předchází záporné hodnoty, 0 když následuje */
char n_cs_precedes;
/* 1 když mezera odděluje currency_symbol zápornou hodnotu */
char n_sep_by_space;
/* Kladné a záporné znaménko:
0 Závorky kolem hodnoty a symbolu měny.
1 Znaménko před hodnotou i symbolem měny.
2 Znaménko následuje za hodnotou i symbolem měny.
3 Znaménko bezprostředně před symbolem měny.
4 Znaménko bezprostředně následuje symbolem měny. */
char p_sign_posn;
char n_sign_posn;
};
STANDARDY
POSIX.1VIZ TÉŽ
setlocale(3), localeconv(3), locale(1), localedef(1) , rpmatch(3), strfmon(3), strcoll(3), strxfrm(3), strftime(3)
Index
This document was created by man2html using the manual pages.
Time: 17:09:31 GMT, January 19, 2012





