locale

Autres langues

Langue: ru

Autres versions - même langue

Version: 24 ÁÐÒÅÌÑ 1993 (openSuse - 09/10/07)

Autres sections - même nom

Section: 7 (Divers)

îáéíåîï÷áîéå

locale - ïÐÉÓÁÎÉÅ ÐÏÄÄÅÒÖËÉ ÎÅÓËÏÌØËÉÈ ÑÚÙËÏ×

óéîôáëóéó


#include <locale.h>

ïðéóáîéå

ìÏËÁÌÉÚÁÃÉÑ -- ÜÔÏ ÎÁÂÏÒ ÑÚÙËÏ×ÙÈ É ËÕÌØÔÕÒÎÙÈ ÐÒÁ×ÉÌ. ïÎÉ ÐÏËÒÙ×ÁÀÔ ÔÁËÉÅ ÁÓÐÅËÔÙ, ËÁË ÑÚÙË ÓÏÏÂÝÅÎÉÊ, ÒÁÚÌÉÞÎÙÅ ÎÁÂÏÒÙ ÓÉÍ×ÏÌÏ×, ÌÅËÓÉËÏÇÒÁÆÉÞÅÓËÉÅ ÓÏÇÌÁÛÅÎÉÑ É Ô. Ä. ðÒÏÇÒÁÍÍÁ ÄÏÌÖÎÁ ÕÍÅÔØ ÏÐÒÅÄÅÌÑÔØ ÌÏËÁÌÉÚÁÃÉÀ É ÐÏÓÔÕÐÁÔØ × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÎÅÊ, ÞÔÏÂÙ ÂÙÔØ ÐÅÒÅÎÏÓÉÍÏÊ ÍÅÖÄÕ ÒÁÚÌÉÞÎÙÍÉ ËÕÌØÔÕÒÁÍÉ.

úÁÇÏÌÏ×ÏÞÎÙÊ ÆÁÊÌ <locale.h> ÏÐÉÓÙ×ÁÅÔ ÔÉÐÙ ÄÁÎÎÙÈ, ÆÕÎËÃÉÉ É ÍÁËÒÏÓÙ, ÐÏÌÅÚÎÙÅ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ ÜÔÏÊ ÚÁÄÁÞÉ.

÷ ÎÅÍ ÏÐÉÓÁÎÙ ÆÕÎËÃÉÉ setlocale(), ËÏÔÏÒÁÑ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÔÅËÕÝÉÅ ÒÅÇÉÏÎÁÌØÎÙÅ ÎÁÓÔÒÏÊËÉ É localeconv(), ËÏÔÏÒÁÑ ×ÏÚ×ÒÁÝÁÅÔ ÉÎÆÏÒÍÁÃÉÀ Ï ÆÏÒÍÁÔÉÒÏ×ÁÎÉÉ ÞÉÓÅÌ.

óÕÝÅÓÔ×ÕÀÔ ÒÁÚÌÉÞÎÙÅ ËÁÔÅÇÏÒÉÉ ÌÏËÁÌÉÚÁÃÉÉ, ËÏÔÏÒÙÅ ÐÒÏÇÒÁÍÍÁ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ; ÏÎÉ ÏÐÉÓÁÎÙ ËÁË ÍÁËÒÏÓÙ. éÓÐÏÌØÚÕÑ ÉÈ × ËÁÞÅÓÔ×Å ÐÅÒ×ÏÇÏ ÁÒÇÕÍÅÎÔÁ ÆÕÎËÃÉÉ setlocale(), ÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÒÅÇÉÏÎÁÌØÎÙÅ ÎÁÓÔÒÏÊËÉ ÏÄÎÏÊ ÉÚ ÓÌÅÄÕÀÝÉÈ ËÁÔÅÇÏÒÉÊ:

LC_COLLATE
üÔÁ ËÁÔÅÇÏÒÉÑ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÉÚÍÅÎÅÎÉÑ ÐÏ×ÅÄÅÎÉÑ ÆÕÎËÃÉÊ strcoll() É strxfrm(), ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ ÓÒÁ×ÎÅÎÉÑ ÓÔÒÏË Ó ÕÞÅÔÏÍ ÍÅÓÔÎÏÇÏ ÁÌÆÁ×ÉÔÁ. îÁÐÒÉÍÅÒ, îÅÍÅÃËÁÑ sharp s ÓÏÒÔÉÒÕÅÔÓÑ ËÁË "ss".
LC_CTYPE
üÔÁ ËÁÔÅÇÏÒÉÑ ×ÌÉÑÅÔ ÎÁ ÐÏ×ÅÄÅÎÉÅ ÆÕÎËÃÉÊ ÏÂÒÁÂÏÔËÉ É ËÌÁÓÓÉÆÉËÁÃÉÉ ÓÉÍ×ÏÌÏ×, ÔÁËÉÈ ËÁË isupper() É toupper(), Á ÔÁËÖÅ ÍÎÏÇÏÂÁÊÔÎÙÈ ÓÉÍ×ÏÌØÎÙÈ ÆÕÎËÃÉÊ, ÔÁËÉÈ ËÁË mblen() ÉÌÉ wctomb().
LC_MONETARY
×ÌÉÑÅÔ ÎÁ ÉÎÆÏÒÍÁÃÉÀ, ×ÏÚ×ÒÁÝÁÅÍÕÀ ÆÕÎËÃÉÅÊ localeconv(), ËÏÔÏÒÁÑ ÏÐÉÓÙ×ÁÅÔ, ËÁË ÏÔÏÂÒÁÖÁÔØ ÞÉÓÌÁ: ÉÓÐÏÌØÚÏ×ÁÔØ ÌÉ × ËÁÞÅÓÔ×Å ÄÅÓÑÔÉÞÎÏÇÏ ÒÁÚÄÅÌÉÔÅÌÑ ÔÏÞËÕ ÉÌÉ ÚÁÐÑÔÕÀ. üÔÕ ÉÎÆÏÒÍÁÃÉÀ ÉÓÐÏÌØÚÕÅÔ ×ÎÕÔÒÉ ÓÅÂÑ ÆÕÎËÃÉÑ strfmon().
LC_MESSAGES
ÉÚÍÅÎÑÅÔ ÑÚÙË ÏÔÏÂÒÁÖÁÅÍÙÈ ÓÏÏÂÝÅÎÉÊ, É ËÁË ÄÏÌÖÎÙ ×ÙÇÌÑÄÅÔØ ÐÏÌÏÖÉÔÅÌØÎÙÊ É ÏÔÒÉÃÁÔÅÌØÎÙÊ ÏÔ×ÅÔÙ. âÉÂÌÉÏÔÅËÁ GNU C ÓÏÄÅÒÖÉÔ ÆÕÎËÃÉÀ rpmatch() ÄÌÑ ÌÅÇËÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ.
LC_NUMERIC
ÉÚÍÅÎÑÅÔ ÉÎÆÏÒÍÁÃÉÀ, ËÏÔÏÒÏÊ ÐÏÌØÚÕÅÔÓÑ ÓÅÍÅÊÓÔ×Ï ÆÕÎËÃÉÊ printf() É scanf(), ÅÓÌÉ ÉÍ ÓËÁÚÁÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÅÇÉÏÎÁÌØÎÙÅ ÎÁÓÔÒÏÊËÉ. üÔÁ ÉÎÆÏÒÍÁÃÉÑ ÍÏÖÅÔ ÂÙÔØ ÔÁËÖÅ ÐÒÏÞÉÔÁÎÁ ÐÒÉ ÐÏÍÏÝÉ ÆÕÎËÃÉÉ localeconv().
LC_TIME
×ÌÉÑÅÔ ÎÁ ÐÏ×ÅÄÅÎÉÅ ÆÕÎËÃÉÉ strftime(), ËÏÔÏÒÁÑ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ ÔÅËÕÝÅÇÏ ×ÒÅÍÅÎÉ × ÍÅÓÔÎÏÍ ÆÏÒÍÁÔÅ; ÎÁÐÒÉÍÅÒ, ÂÏÌØÛÁÑ ÞÁÓÔØ å×ÒÏÐÙ ÉÓÐÏÌØÚÕÅÔ 24-È ÞÁÓÏ×ÏÊ ÆÏÒÍÁÔ, ÔÏÇÄÁ ËÁË × óûá ÉÓÐÏÌØÚÕÀÔ 12-ÔÉ ÞÁÓÏ×ÏÊ.
LC_ALL
÷ÓÅ ×ÙÛÅÐÅÒÅÞÉÓÌÅÎÎÏÅ.

åÓÌÉ ×ÔÏÒÏÊ ÁÒÇÕÍÅÎÔ ÆÕÎËÃÉÉ setlocale()--- ÐÕÓÔÁÑ ÓÔÒÏËÁ , ÔÏ ÌÏËÁÌÉÚÁÃÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ ÏÐÒÅÄÅÌÑÔØÓÑ, ÉÓÐÏÌØÚÕÑ ÓÌÅÄÕÀÝÉÅ ÛÁÇÉ:

1.
åÓÌÉ ÓÕÝÅÓÔ×ÕÅÔ ÎÅÐÕÓÔÁÑ ÐÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ LC_ALL, ÔÏ ÉÓÐÏÌØÚÕÅÔÓÑ ÅÅ ÚÎÁÞÅÎÉÅ.
2.
åÓÌÉ ÓÕÝÅÓÔ×ÕÅÔ ÐÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ Ó ÉÍÅÎÅÍ ÏÄÎÏÊ ÉÚ ×ÙÛÅÏÐÉÓÁÎÎÙÈ ËÁÔÅÇÏÒÉÊ ÌÏËÁÌÉÚÁÃÉÉ É ÏÎÁ ÎÅ ÐÕÓÔÁÑ, ÅÅ ÚÎÁÞÅÎÉÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÜÔÏÊ ËÁÔÅÇÏÒÉÉ.
3.
åÓÌÉ ÓÕÝÅÓÔ×ÕÅÔ ÎÅÐÕÓÔÁÑ ÐÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ LANG, ÔÏ ÉÓÐÏÌØÚÕÅÔÓÑ ÅÅ ÚÎÁÞÅÎÉÅ.

éÎÆÏÒÍÁÃÉÑ Ï ÍÅÓÔÎÏÍ ÆÏÒÍÁÔÉÒÏ×ÁÎÉÉ ÞÉÓÅÌ ÄÏÓÔÕÐÎÁ × ÓÔÒÕËÔÕÒÅ struct lconv, ×ÏÚ×ÒÁÝÁÅÍÏÊ ÆÕÎËÃÉÅÊ localeconv(), ËÏÔÏÒÁÑ ÏÂßÑ×ÌÅÎÁ ÓÌÅÄÕÀÝÉÍ ÏÂÒÁÚÏÍ:


struct lconv

{

  /* þÉÓÌÏ×ÁÑ (ÎÅ Ó×ÑÚÁÎÎÁÑ Ó ÄÅÎØÇÁÍÉ) ÉÎÆÏÒÍÁÃÉÑ.  */



  char *decimal_point;          /* óÉÍ×ÏÌ ÄÅÓÑÔÉÞÎÏÊ ÔÏÞËÉ.  */

  char *thousands_sep;          /* òÁÚÄÅÌÉÔÅÌØ ÔÙÓÑÞ.        */

  /* ëÁÖÄÙÊ ÜÌÅÍÅÎÔ Ñ×ÌÑÅÔÓÑ ÎÏÍÅÒÏÍ ÃÉÆÒÙ × ËÁÖÄÏÊ ÇÒÕÐÐÅ;

     ÂïÌØÛÉÅ ÜÌÅÍÅÎÔÙ ÕËÁÚÙ×ÁÀÔ ÎÁ ËÒÁÊÎÉÅ ÌÅ×ÙÅ ÚÎÁÞÅÎÉÑ.

     üÌÅÍÅÎÔ Ó ÚÎÁÞÅÎÉÅÍ CHAR_MAX ÏÚÎÁÞÁÅÔ ÓÔÁÒÛÉÈ ÇÒÕÐÐ ÂÏÌØÛÅ ÎÅÔ.

     üÌÅÍÅÎÔ ÓÏ ÚÎÁÞÅÎÉÅÍ 0 ÕËÁÚÙ×ÁÅÔ ÞÔÏ ÐÒÅÄÙÄÕÝÉÊ ÜÌÅÍÅÎÔ ÉÓÐÏÌØÚÕÅÔÓÑ

     ÄÌÑ ×ÓÅÈ ÇÒÕÐÐ ÌÅ×ÅÅ.  */

  char *grouping;



  /* äÅÎÅÖÎÁÑ ÉÎÆÏÒÍÁÃÉÑ.  */



  /* ðÅÒ×ÙÅ ÔÒÉ ÓÉÍ×ÏÌÁ Ñ×ÌÑÀÔÓÑ ÓÉÍ×ÏÌÏÍ ×ÁÌÀÔÙ ÓÏÇÌÁÓÎÏ ISO 4217.

     þÅÔ×ÅÒÔÙÊ ÓÉÍ×ÏÌ Ñ×ÌÑÅÔÓÑ ÒÁÚÄÅÌÉÔÅÌÅÍ. ðÑÔÙÊ ÓÉÍ×ÏÌ ÒÁ×ÅÎ '\0'.    */

  char *int_curr_symbol;

  char *currency_symbol;        /* íÅÓÔÎÙÊ ÓÉÍ×ÏÌ ×ÁÌÀÔÙ.    */

  char *mon_decimal_point;      /* óÉÍ×ÏÌ ÄÅÓÑÔÉÞÎÏÊ ÔÏÞËÉ.  */

  char *mon_thousands_sep;      /* òÁÚÄÅÌÉÔÅÌØ ÔÙÓÑÞ.        */

  char *mon_grouping;           /* óÍ. ×ÙÛÅ ÏÐÉÓÁÎÉÅ ÜÌÅÍÅÎÔÁ `grouping' */

  char *positive_sign;          /* úÎÁË ÐÏÌÏÖÉÔÅÌØÎÙÈ ÚÎÁÞÅÎÉÊ.  */

  char *negative_sign;          /* úÎÁË ÏÔÒÉÃÁÔÅÌØÎÙÈ ÚÎÁÞÅÎÉÊ.  */

  char int_frac_digits;         /* Int'l fractional digits.  */

  char frac_digits;             /* Local fractional digits.  */

  /* 1 ÅÓÌÉ ÓÉÍ×ÏÌ ×ÁÌÀÔÙ ÐÒÅÄÛÅÓÔ×ÕÅÔ ÐÏÌÏÖÉÔÅÌØÎÏÍÕ ÚÎÁÞÅÎÉÀ, 

     0 ÅÓÌÉ ÓÌÅÄÕÅÔ ÚÁ ÎÉÍ.  */

  char p_cs_precedes;

  /* 1 ÅÓÌÉ ÐÒÏÂÅÌ ÏÔÄÅÌÑÅÔ ÓÉÍ×ÏÌ ×ÁÌÀÔÙ ÏÔ ÐÏÌÏÖÉÔÅÌØÎÏÇÏ ÚÎÁÞÅÎÉÑ.    */

  char p_sep_by_space;

  /* 1 ÅÓÌÉ ÓÉÍ×ÏÌ ×ÁÌÀÔÙ ÐÒÅÄÛÅÓÔ×ÕÅÔ ÏÔÒÉÃÁÔÅÌØÎÏÍÕ ÚÎÁÞÅÎÉÀ, 

     0 ÅÓÌÉ ÓÌÅÄÕÅÔ ÚÁ ÎÉÍ.  */

  char n_cs_precedes;

  /* 1 ÅÓÌÉ ÐÒÏÂÅÌ ÏÔÄÅÌÑÅÔ ÓÉÍ×ÏÌ ×ÁÌÀÔÙ ÏÔ ÏÔÒÉÃÁÔÅÌØÎÏÇÏ ÚÎÁÞÅÎÉÑ.    */

  char n_sep_by_space;

  /* ðÏÚÉÃÉÑ ÐÏÌÏÖÉÔÅÌØÎÏÇÏ ÉÌÉ ÏÔÒÉÃÁÔÅÌØÎÏÇÏ ÚÎÁËÁ:

     0 óËÏÂËÉ ÏËÒÕÖÁÀÔ ËÏÌÉÞÅÓÔ×Ï É ÓÉÍ×ÏÌ ×ÁÌÀÔÙ.

     1 úÎÁË ÐÒÅÄÛÅÓÔ×ÕÅÔ ËÏÌÉÞÅÓÔ×Õ É ÓÉÍ×ÏÌÕ ×ÁÌÀÔÙ.

     2 úÎÁË ÓÌÅÄÕÅÔ ÚÁ ËÏÌÉÞÅÓÔ×ÏÍ É ÓÉÍ×ÏÌÏÍ ×ÁÌÀÔÙ.

     3 úÎÁË ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÐÒÅÄÛÅÓÔ×ÕÅÔ ÓÉÍ×ÏÌÕ ×ÁÌÀÔÙ.

     4 úÎÁË ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÓÌÅÄÕÅÔ ÚÁ ÓÉÍ×ÏÌÏÍ ×ÁÌÀÔÙ.       */

  char p_sign_posn;

  char n_sign_posn;

};

óïïô÷åôóô÷éå óôáîäáòôáí

POSIX.1

óíïôòé ôáëöå

setlocale(3), localeconv(3), locale(1), localedef(1), rpmatch(3), strfmon(3), strcoll(3), strxfrm(3), strftime(3)

ðåòå÷ïä

ðÅÒÅ×ÅÌ Ó ÁÎÇÌÉÊÓËÏÇÏ áÌÅËÓÅÊ íÉÌÌÅÒ <asm@asm.kiev.ua>