.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2014 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH duplocale 3 "3 mai 2023" "Pagini de manual de Linux 6.05.01" .SH NUME duplocale \- duplică un obiect de configurație regională .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP .PP \fBlocale_t duplocale(locale_t \fP\fIlocobj\fP\fB);\fP .fi .PP .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .PP \fBduplocale\fP(): .nf Începând cu glibc 2.10 _XOPEN_SOURCE >= 700 Înainte de glibc 2.10: _GNU_SOURCE .fi .SH DESCRIERE Funcția \fBduplocale\fP() creează un duplicat al obiectului parametrului regional la care se face referire prin \fIlocobj\fP. .PP Dacă \fIlocobj\fP este \fBLC_GLOBAL_LOCALE\fP, \fBduplocale\fP() creează un obiect de configurație regională care conține o copie a parametrului regional global determinat de \fBsetlocale\fP(3). .SH "VALOAREA RETURNATĂ" În caz de succes, \fBduplocale\fP() returnează un gestionar pentru noul obiect de configurație regională. În caz de eroare, returnează \fI(locale_t)\ 0\fP și configurează \fIerrno\fP pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBENOMEM\fP Memorie insuficientă pentru a crea obiectul de configurație regională duplicat. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC glibc 2.3. .SH NOTE Duplicarea unei configurații regionale poate servi următoarelor scopuri: .IP \[bu] 3 Pentru a crea o copie a unui obiect configurație regională în care una sau mai multe categorii urmează să fie modificate (utilizând \fBnewlocale\fP(3)). .IP \[bu] Pentru a obține un gestionar pentru configurația regională curentă, care poate fi utilizat în alte funcții care utilizează un gestionar de configurație regională, cum ar fi \fBtoupper_l\fP(3). Acest lucru se face prin aplicarea \fBduplocale\fP() la valoarea returnată de următorul apel: .IP .in +4n .EX loc = uselocale((locale_t) 0); .EE .in .IP Această tehnică este necesară, deoarece apelul \fBuselocale\fP(3) de mai sus poate returna valoarea \fBLC_GLOBAL_LOCALE\fP, ceea ce duce la un comportament nedefinit dacă este transmis unor funcții precum \fBtoupper_l\fP(3). Apelul \fBduplocale\fP() poate fi utilizat pentru a se asigura că valoarea \fBLC_GLOBAL_LOCALE\fP este convertită într\-un obiect de configurație regională utilizabil. A se vedea secțiunea EXEMPLE, de mai jos. .PP Fiecare obiect de configurație regională creat de \fBduplocale\fP() trebuie să fie eliberat cu ajutorul \fBfreelocale\fP(3). .SH EXEMPLE Programul de mai jos utilizează \fBuselocale\fP(3) și \fBduplocale\fP() pentru a obține un gestionar pentru parametrul regional curent, care este apoi transmis la \fBtoupper_l\fP(3). Programul primește un argument de linie de comandă, un șir de caractere care este convertit în majuscule și afișat la ieșirea standard. Un exemplu de utilizare a acestui program este următorul: .PP .in +4n .EX $ \fB./a.out abc\fP ABC .EE .in .SS "Sursa programului" .\" SRC BEGIN (duplocale.c) \& .EX #define _XOPEN_SOURCE 700 #include #include #include #include \& #define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \e } while (0) \& int main(int argc, char *argv[]) { locale_t loc, nloc; \& if (argc != 2) { fprintf(stderr, "Utilizare: %s șir\en", argv[0]); exit(EXIT_FAILURE); } \& /* Această secvență este necesară, deoarece uselocale() ar putea returna valoarea LC_GLOBAL_LOCALE, care nu poate fi transmisă ca argument pentru toupper_l(). */*/ \& loc = uselocale((locale_t) 0); if (loc == (locale_t) 0) errExit("uselocale"); \& nloc = duplocale(loc); if (nloc == (locale_t) 0) errExit("duplocale"); \& for (char *p = argv[1]; *p; p++) putchar(toupper_l(*p, nloc)); \& printf("\en"); \& freelocale(nloc); \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "CONSULTAȚI ȘI" \fBfreelocale\fP(3), \fBnewlocale\fP(3), \fBsetlocale\fP(3), \fBuselocale\fP(3), \fBlocale\fP(5), \fBlocale\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .