Locale.h

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 30. huhtikuuta 2016 tarkistetusta versiosta . tarkastukset vaativat 5 muokkausta .

locale.h  on C-ohjelmointikielen vakiokirjaston otsikkotiedosto , jota käytetään lokalisointiin liittyviin tehtäviin.

Tietotyypit

Otsikkotiedosto ilmoittaa rakenteen lconvja sen kentät, jotka tallentavat tietoja nykyisestä koodauksesta numeromuotoilua varten. [yksi]

Nimi Toiminto Merkitys varten"C"
char *decimal_point Ei-monetaaristen arvojen desimaalierotin "."
char *thousands_sep Tuhaterotin ei-monetaarisille arvoille ""
char *grouping Merkkijono, jonka elementit näyttävät kunkin numeroryhmän koon muotoilluille ei-valuutallisille arvoille ""
char *mon_decimal_point Rahallisten arvojen desimaalierotin ""
char *mon_thousands_sep Tuhaterotin rahallisille arvoille ""
char *mon_grouping Merkkijono, jonka elementit näyttävät muotoiltujen rahallisten arvojen kunkin numeroryhmän koon ""
char *positive_sign Symboli, joka edustaa rahallisten arvojen ei-negatiivisuutta ""
char *negative_sign Symboli, joka edustaa rahallisten arvojen negatiivisuutta ""
char *currency_symbol Valuutan merkki ""
char frac_digits Rahallisten arvojen murto-osien lukumäärä CHAR_MAX
char p_cs_precedes 1, jos valuuttamerkki edeltää ei-negatiivista valuuttaarvoa ja 0 muussa tapauksessa CHAR_MAX
char n_cs_precedes 1, jos valuuttamerkki edeltää negatiivista valuuttaarvoa ja 0 muussa tapauksessa CHAR_MAX
char p_sep_by_space Määrittää valuuttasymbolin, merkin ja ei-negatiivisen valuutan arvon välisen välin CHAR_MAX
char n_sep_by_space Määrittää valuuttasymbolin, merkin ja negatiivisen valuutan arvon välisen eron CHAR_MAX
char p_sign_posn Määrittää positiivisen etumerkin sijainnin ei-negatiivisille valuuttaarvoille CHAR_MAX
char n_sign_posn Määrittää negatiivisen etumerkin sijainnin negatiivisille valuuttaarvoille CHAR_MAX
char *int_curr_symbol Kansainvälisen valuutan symboli ""
char int_frac_digits Murtolukujen lukumäärä rahallisille arvoille kansainvälisessä muodossa CHAR_MAX
char int_p_cs_precedes 1, jos kansainvälinen valuuttasymboli edeltää ei-negatiivista valuuttaarvoa ja 0 päinvastoin CHAR_MAX
char int_n_cs_precedes sama negatiivisille valuuttaarvoille kansainvälisessä muodossa CHAR_MAX
char int_p_sep_by_space Määrittää merkin, symbolin ja kansainvälisen valuutan arvon välisen etäisyyden CHAR_MAX
char int_n_sep_by_space sama negatiivisille luvuille CHAR_MAX
char int_p_sign_posn Määrittää positiivisen merkin ja valuutan arvon välisen etäisyyden kansainvälisessä muodossa CHAR_MAX
char int_n_sign_posn sama negatiivisille valuuttaarvoille kansainvälisessä muodossa CHAR_MAX

Makrot

Otsikkotiedosto määrittää seuraavat luokkamakrot: [1]

Nimi Vaikuttaa
LC_ALL kaikki lokalisointivaihtoehdot
LC_COLLATE strcoll- ja strxfrm-funktioiden käyttäytyminen
LC_CTYPE kaikkien funktioiden käyttäytyminen tiedostosta ctype.h paitsi isdigit ja isxdigit
LC_MONETARY rahallisten arvojen näyttäminen
LC_NUMERIC desimaalinäyttö
LC_TIME strftime ja wcstrftime käyttäytyminen

Toiminnot

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

Funktio localeconvsaa nykyisen koodauksen.

Funktio setlocaleasettaa uuden lokalisoinnin luokkaan liittyville toiminnoille category(se on yksi ennalta määritetyistä makroista). Standardi määrittelee seuraavat koodaukset:

  1. "" - oletuslokalisointi tälle alustalle
  2. "C" — minimaalinen lokalisointi C-kielen ympäristölle

ja muut järjestelmästä riippuvat. [yksi]

Jos lokalisoinnin muutospyyntö voidaan täyttää, funktio palauttaa luokan nykyisen lokalisoinnin category. Muussa tapauksessa palautetaan NULL .

"C"Lokalisointia käytetään ohjelmaa käynnistettäessä .

Esimerkkikoodi

#include <stdio.h> #include <locale.h> int main ( tyhjä ) { struct lconv * currentlocale ; currentlocale = paikallinen tulos (); printf ( "Nykyisellä maa-alueella vakiovaluuttasymboli on %c \n " , * ( nykyinen kieli -> valuutan_symboli )); paluu 0 ; }

Esimerkki funktion käytöstä (setlocale)

#include <stdio.h> #include <locale.h> int main ( tyhjä ) { setlocale ( LC_ALL , "RU" ); printf ( "Hei maailma! \n " ); paluu 0 ; }

Linkit

Muistiinpanot

  1. 1 2 3 ISO/IEC 9899:1999 . Haettu 31. heinäkuuta 2011. Arkistoitu alkuperäisestä 22. elokuuta 2011.