strfmon(3) Library Functions Manual strfmon(3) NUME strfmon, strfmon_l - convertete o valoare monetara intr-un ir de caractere BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include ssize_t strfmon(char s[restrict .max], size_t max, const char *restrict format, ...); ssize_t strfmon_l(char s[restrict .max], size_t max, locale_t locale, const char *restrict format, ...); DESCRIERE Funcia strfmon() formateaza suma monetara specificata in conformitate cu configuraia regionala curenta i cu specificaia de format format i plaseaza rezultatul in matricea de caractere s de dimensiune max. Funcia strfmon_l() indeplinete aceeai sarcina, dar utilizeaza configuraia regionala specificata de locale. Comportamentul funciei strfmon_l() este nedefinit in cazul in care locale este obiectul parametru special de configuraie regionala LC_GLOBAL_LOCALE (a se vedea duplocale(3)) sau nu este un gestionar de obiect de configuraie regionala valid. Caracterele obinuite din format sunt copiate in s fara conversie. Specificatorii de conversie sunt introdui de un caracter ,,%". Imediat dupa acesta pot exista zero sau mai multe dintre urmatoarele fanioane: =f Caracterul de un singur octet f este utilizat drept caracter de umplere numerica (pentru a fi utilizat cu o precizie la stanga, a se vedea mai jos). Atunci cand nu este specificat, se utilizeaza caracterul spaiu. ^ Nu utilizeaza niciun caracter de grupare care ar putea fi definit pentru configuraia regionala curenta. In mod implicit, gruparea este activata. ( sau + Simbolul ,,(" indica faptul ca sumele negative trebuie sa fie incluse intre paranteze. Simbolul ,,+" indica faptul ca semnele trebuie tratate in mod implicit, adica sumele sunt precedate de indicaia de semn din regiunea respectiva, de exemplu, nimic pentru valori pozitive, ,,-" pentru valori negative. ! Omite simbolul monetar. - Aliniaza la stanga toate campurile. Valoarea implicita este alinierea la dreapta. In continuare, poate exista o laime a campului: un ir de cifre zecimale care specifica o laime minima a campului in octei. Valoarea implicita este 0. Un rezultat mai mic decat aceasta laime este completat cu spaii (in stanga, cu excepia cazului in care a fost indicat fanionul aliniere-stanga). In continuare, poate exista o precizie stanga de forma ,,#" urmata de un ir de cifre zecimale.In cazul in care numarul de cifre din stanga caracterului zecimal ,,," este mai mic decat acesta, reprezentarea este umpluta in stanga cu caracterul de umplere numeric. Caracterele de grupare nu sunt luate in considerare in aceasta laime de camp. In continuare, poate exista o precizie la dreapta de forma ,,." urmata de un ir de cifre zecimale. Suma care se formateaza este rotunjita la numarul specificat de cifre inainte de formatare. Valoarea implicita este specificata in elementele frac_digits i int_frac_digits din configuraia regionala curenta. Daca precizia dreapta este 0, nu se imprima niciun caracter zecimal ,,. sau ,"; (caracterul zecimal aici este determinat de LC_MONETARY i poate fi diferit de cel specificat de LC_NUMERIC). In cele din urma, specificaia de conversie trebuie sa se incheie cu un caracter de conversie. Cele trei caractere de conversie sunt % In acest caz, intreaga specificaie trebuie sa fie exact ,,%%". Introduce un caracter ,,%" in irul rezultat. i Un argument de tip double este convertit folosind formatul internaional al monedei locale. n Un argument de tip double este convertit folosind formatul naional al monedei locale. VALOAREA RETURNATA Funcia strfmon() returneaza numarul de caractere plasate in matricea s, fara a include octetul nul de terminare, cu condiia ca irul, inclusiv octetul nul de terminare, sa incapa. In caz contrar, configureaza errno la E2BIG, returneaza -1, iar coninutul matricei este nedefinit. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +-------------------------------+---------------------+----------------+ |Interfaa | Atribut | Valoare | +-------------------------------+---------------------+----------------+ |strfmon() | Sigurana firelor | MT-Safe locale | +-------------------------------+---------------------+----------------+ |strfmon_l() | Sigurana firelor | MT-Safe | +-------------------------------+---------------------+----------------+ STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001. EXEMPLE Apelarea strfmon(buf, sizeof(buf), "[%^=*#6n] [%=*#6i]", 1234.567, 1234.567); produce [EUR **1234,57] [EUR **1 234,57] in configuraia regionala nl_NL. Configuraiile regionale de_DE, de_CH, en_AU i en_GB produc urmatoarele rezultate [ **1234,57 EUR] [ **1.234,57 EUR] [ Fr. **1234.57] [ CHF **1'234.57] [ $**1234.57] [ AUD**1,234.57] [ L**1234.57] [ GBP**1,234.57] CONSULTAI I duplocale(3), setlocale(3), sprintf(3), locale(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 strfmon(3)