Sdílet prostřednictvím


locale Class

Třídy, který popisuje objekt národního prostředí, které zapouzdřuje specifické informace jak fasetami, které společně definují zvláštní lokalizované prostředí.

class locale {
public:
    class facet;
    class id;
    typedef int category;
    static const category none, collate, ctype, monetary,
        numeric, time, messages, all;
    locale();
    explicit locale(
        const char *_Locname
);
    explicit locale(
        const string& _Locname
);
    locale(
        const locale& _Loc, 
        const locale& _Other,
        category cat
    );
    locale(
        const locale& _Loc, 
        const char *_Locname, 
        category cat
    );
    locale(
        const locale& _Loc, 
        const string& _Locname, 
        category _Cat
    );
    template<class Facet>
        locale(
            const locale& _Loc, 
            Facet *_Fac
        );
    template<class Facet>
        locale combine(
            const locale& _Loc
) const;
    template<class Elem, class Tr, class Alloc>
        bool operator()(
            const basic_string<Elem, Tr, Alloc>& _Left,
            const basic_string<Elem, Tr, Alloc>& _Right
        ) const;
    string name() const;
    bool operator== (
        const locale& _Right
    ) const;
    bool operator!=(
        const locale& _Right
    ) const;
    static locale global(
        const locale& _Right
    );
    static const locale& classic();
    };

Poznámky

Podmínka je ukazatel na objekt třídy odvozené od třídy Podmínka veřejné objekt ve formuláři, který má:

static locale::id id;

Můžete definovat zprostředkovává množinou tyto charakteristiky.Můžete také vytvořit objekt národního prostředí, který označuje libovolný počet charakteristiky.

Předdefinované skupiny tyto charakteristiky představují kategorie národního prostředí tradičně spravované v knihovně c standardní funkce setlocale.

Kategorie kompletování (LC_COLLATE) nezaručuje zahrnuje:

collate<char>
collate<wchar_t>

Kategorie ctype (LC_CTYPE) obsahuje nezaručuje:

ctype<char>
ctype<wchar_t>
codecvt<char, char, mbstate_t>
codecvt<wchar_t, char, mbstate_t>
codecvt<char16_t, char, mbstate_t>
codecvt<char32_t, char, mbstate_t>

Kategorie měnové (LC_MONETARY) obsahuje nezaručuje:

moneypunct<char, false>
moneypunct<wchar_t, false>
moneypunct<char, true>
moneypunct<wchar_t, true>
money_get<char, istreambuf_iterator<char> >
money_get<wchar_t, istreambuf_iterator<wchar_t> >
money_put<char, ostreambuf_iterator<char> >
money_put<wchar_t, ostreambuf_iterator<wchar_t> >

Numerické kategorie (LC_NUMERIC) obsahuje nezaručuje:

num_get<char, istreambuf_iterator<char> >
num_get<wchar_t, istreambuf_iterator<wchar_t> >
num_put<char, ostreambuf_iterator<char> >
num_put<wchar_t, ostreambuf_iterator<wchar_t> >
numpunct<char>
numpunct<wchar_t>

Kategorie času (LC_TIME) obsahuje nezaručuje:

time_get<char, istreambuf_iterator<char> >
time_get<wchar_t, istreambuf_iterator<wchar_t> >
time_put<char, ostreambuf_iterator<char> >
time_put<wchar_t, ostreambuf_iterator<wchar_t> >

Kategorie zpráv (LC_MESSAGES) obsahuje nezaručuje:

messages<char>
messages<wchar_t>

(Poslední kategorie je vyžadováno Posix, ale není c standardní.)

Některé z těchto předdefinovaných fasetami používají třídy iostreams k převodu číselné hodnoty z řad textu a řízení.

Objekt třídy národního prostředí také ukládá název národního prostředí jako objekt třídy řetězec.Jméno neplatné národní prostředí pomocí sestavit národní podmínka nebo objekt národního prostředí vyvolá objekt třídy runtime_error.Název uložené národního prostředí je "*" objektu locale nelze určité národní prostředí c styl odpovídá přesně na které jsou reprezentovány tímto objektem.Jinak můžete vytvořit odpovídající národní prostředí v rámci standardní knihovny c pro národní prostředí objekt _Loc, voláním setlocale(LC_ALL, _Loc.název().c_str()).

V této implementaci můžete také volat statické členské funkce:

static locale empty( );

vytvořit objekt národního prostředí, který nemá žádné charakteristiky.Je také průhledné národního prostředí; Pokud funkce šablony has_facet a use_facet nelze najít požadované podmínka v průhledných národního konzultovaly první globální národního prostředí a pokud průhledné, klasické národního prostředí.Lze tedy zapsat:

cout.imbue(locale::empty( ));

Následné vložení do Cour jsou pachatelem podle aktuálního stavu globální národního prostředí.Dokonce můžete psát:

locale loc(locale::empty( ), locale::classic( ),
    locale::numeric);
cout.imbue(loc);

Numerická pravidla formátování pro následné vložení do cout zůstávají stejné jako v c národní i globální národního prostředí poskytuje změny pravidel pro vkládání dat a peněžní částky.

1w3527e2.collapse_all(cs-cz,VS.110).gifKonstruktory

národní prostředí

Vytvoří národního prostředí, nebo národní prostředí kopie nebo kopie národního prostředí, kde podmínka nebo kategorie byla nahrazena podmínka nebo kategorie z jiného národního prostředí.

1w3527e2.collapse_all(cs-cz,VS.110).gifFunkce TypeDef

kategorie

Typ integer obsahuje hodnoty maskování bitů pro standardní podmínky rodin.

1w3527e2.collapse_all(cs-cz,VS.110).gifFunkce členů

kombinovat

Vloží podmínka národní cíl ze zadané národní prostředí.

name

Vrátí název uložené národního prostředí.

1w3527e2.collapse_all(cs-cz,VS.110).gifStatická funkce

Klasické nastavení

Vrátí statický člen národního prostředí objekt, který představuje klasické c národní prostředí.

globální

Obnoví výchozí místní programu.

1w3527e2.collapse_all(cs-cz,VS.110).gifOperátory

operátor! =

Národní prostředí nerovnost pro testy.

(operátor)

Porovnává dva basic_string objektů.

operátor ==

Testy národní prostředí pro rovnost.

1w3527e2.collapse_all(cs-cz,VS.110).gifTřídy

Podmínka

Třída, která slouží jako základní třída pro všechny charakteristiky národního prostředí.

id

Třída člen poskytuje podmínka jedinečné identifikace použít jako index pro vyhledávání charakteristiky v národní prostředí.

Požadavky

Záhlaví: <locale>

Obor názvů: std

Viz také

Referenční dokumentace

Bezpečnostní vlákno v Standardní knihovna C++

Další zdroje

národní členové

<locale> Členové