Scroll to navigation

setlocale(3) Library Functions Manual setlocale(3)

NUME

setlocale - definește parametrii regionali curenți

BIBLIOTECA

Biblioteca C standard (libc, -lc)

SINOPSIS

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

DESCRIERE

Funcția setlocale() este utilizată pentru a defini sau interoga parametrii regionali curenți ai programului.

Dacă locale nu este NULL, parametrii regionali curenți ai programului sunt modificați în funcție de argumente. Argumentul category determină care părți ai configurației regionale curente a programului trebuie modificate.

Categorie Parametri modificați
LC_ALL Toși parametrii regionali
LC_ADDRESS Formatarea adreselor și a elementelor legate de geografie (*)
LC_COLLATE Ordinea de sortare a șirurilor de caractere
LC_CTYPE Clasificarea caracterelor
LC_IDENTIFICATION Metadate care descriu parametrii regionali (locale) (*)
LC_MEASUREMENT Parametri referitori la măsurători (sistemul metric față de sistemul american) (*)
LC_MESSAGES Mesaje traduse în limba din regiunea curentă
LC_MONETARY Formatarea valorilor monetare
LC_NAME Formatarea formulelor de salut pentru persoane (*)
LC_NUMERIC Formatarea valorilor numerice nemonetare
LC_PAPER Parametri referitori la dimensiunea standard a hârtiei (*)
LC_TELEPHONE Formate care trebuie utilizate cu serviciile telefonice (*)
LC_TIME Formatarea valorilor de dată și oră

Categoriile marcate cu asterisc în tabelul de mai sus sunt extensii GNU. Pentru mai multe informații despre aceste categorii regionale, consultați locale(7).

Argumentul locale este un indicator către un șir de caractere care conține configurarea necesară pentru categorie. Un astfel de șir este fie o constantă binecunoscută, cum ar fi „C” sau „ro_RO” (vezi mai jos), fie un șir opac care a fost returnat de o altă apelare a setlocale().

Dacă locale este un șir gol, "", fiecare parte a parametrilor regionali care trebuie modificată este configurată în conformitate cu variabilele de mediu. Detaliile depind de implementare. Pentru glibc, mai întâi (indiferent de categorie), este verificată variabila de mediu LC_ALL, apoi variabila de mediu cu același nume ca și categoria (vezi tabelul de mai sus) și, în final, variabila de mediu LANG. Este utilizată prima variabilă de mediu existentă. Dacă valoarea acesteia nu este o specificație de parametri regionali validă, configurația regională rămâne neschimbată, iar setlocale() returnează NULL.

Parametrul regional "C" sau "POSIX" este un parametru regional portabil; acesta există pe toate sistemele conforme.

Un nume de parametru regional are de obicei forma limbă [_teritoriu][.codificarea][@modificator], unde limbă este un cod de limbă ISO 639, teritoriu este un cod de țară ISO 3166, iar codificarea este un set de caractere sau un identificator de codificare, cum ar fi ISO-8859-1 sau UTF-8. Pentru o listă a tuturor parametrilor regionali acceptați, încercați «locale -a» (consultați locale(1)).

Dacă locale este NULL, configurația regională curentă este doar interogată, nu modificată.

La pornirea programului principal, valoarea parametrului regional portabil "C" este selectată ca implicită. Un program poate fi făcut portabil pentru toate configurațiile regionale prin apelarea:


setlocale(LC_ALL, "");

după inițializarea programului, și apoi:

utilizând valorile returnate de o apelare localeconv(3) pentru informații dependente de parametrii regionali;
utilizarea funcțiilor multi-octet și caractere late pentru procesarea textului dacă MB_CUR_MAX > 1;
utilizarea strcoll(3) și strxfrm(3) pentru compararea șirurilor de caractere; și
utilizarea wcscoll(3) și wcsxfrm(3) pentru a compara șiruri de caractere late.

VALOAREA RETURNATĂ

O apelare reușită a setlocale() returnează un șir opac care corespunde parametrilor regionali. Acest șir poate fi alocat în memoria statică. Șirul returnat este astfel încât o apelare ulterioară cu acel șir și categoria asociată va restabili acea parte a procesului corespondentă parametrilor regionali. Valoarea returnată este NULL dacă cererea nu poate fi onorată.

ATRIBUTE

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
setlocale() Siguranța firelor MT-Unsafe const:locale env

STANDARDE

C11, POSIX.1-2008.

Categorii

C11, POSIX.1-2008.
POSIX.1-2008.
GNU.

ISTORIC

POSIX.1-2001, C89.

Categorii

C89, POSIX.1-2001.
POSIX.1-2001.
GNU.

CONSULTAȚI ȘI

locale(1), localedef(1), isalpha(3), localeconv(3), nl_langinfo(3), rpmatch(3), strcoll(3), strftime(3), charsets(7), locale(7)

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

2 mai 2024 Pagini de manual de Linux 6.9.1