Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       wprintf,   fwprintf,  swprintf,  vwprintf,  vfwprintf,  vswprintf  -  conversia  de  ieșire  formatată  a
       caracterelor late

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <stdio.h>
       #include <wchar.h>

       int wprintf(const wchar_t *restrict format, ...);
       int fwprintf(FILE *restrict stream,
                    const wchar_t *restrict format, ...);
       int swprintf(wchar_t wcs[restrict .maxlen], size_t maxlen,
                    const wchar_t *restrict format, ...);

       int vwprintf(const wchar_t *restrict format, va_list args);
       int vfwprintf(FILE *restrict stream,
                    const wchar_t *restrict format, va_list args);
       int vswprintf(wchar_t wcs[restrict .maxlen], size_t maxlen,
                    const wchar_t *restrict format, va_list args);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       Toate funcțiile prezentate mai sus:
           _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE
               || _POSIX_C_SOURCE >= 200112L

DESCRIERE

       Familia de funcții wprintf() este echivalentul în  caractere  late  al  familiei  de  funcții  printf(3).
       Aceasta realizează o ieșire formatată a caracterelor late.

       Funcțiile  wprintf()  și vwprintf() efectuează ieșirea de caractere late către stdout (ieșirea standard).
       stdout nu trebuie să fie orientată pe octeți; a se vedea fwide(3) pentru mai multe informații.

       Funcțiile fwprintf() și vfwprintf() efectuează ieșirea de caractere late către stream. stream nu  trebuie
       să fie orientat pe octeți; a se vedea fwide(3) pentru mai multe informații.

       Funcțiile  swprintf()  ș  i vswprintf() efectuează ieșirea de caractere late către o matrice de caractere
       late. Programatorul trebuie să se asigure că există spațiu pentru cel puțin maxlen caractere late la wcs.

       Aceste funcții sunt similare  funcțiilor  printf(3),  vprintf(3),  fprintf(3),  vfprintf(3),  sprintf(3),
       sprintf(3), vsprintf(3), cu excepția următoarelor diferențe:

             Șirul format este un șir de caractere late.

             Ieșirea constă în caractere late, nu în octeți.

             swprintf()  și  vswprintf() acceptă un argument maxlen, sprintf(3) și vsprintf(3) nu; (snprintf(3)
              și vsnprintf(3) acceptă un argument maxlen, dar aceste  funcții  nu  returnează  -1  la  depășirea
              memoriei tampon în Linux).

       Tratamentul caracterelor de conversie c și s este diferit:

       c      Dacă  nu  este  prezent  nici un modificator l, argumentul int este convertit într-un caracter lat
              printr-un apel la funcția btowc(3), iar caracterul lat rezultat este scris. Dacă este  prezent  un
              modificator l, se scrie argumentul wint_t (caracter lat).

       s      Dacă  nu  este  prezent  nici  un  modificator l: se așteaptă ca argumentul const char * să fie un
              indicator la o matrice de tip caracter (indicator la un șir de caractere) care conține o  secvență
              de  caractere  de  mai  mulți  octeți care începe în starea inițială de deplasare. Caracterele din
              matrice sunt convertite în caractere late (fiecare prin apelarea funcției mbrtowc(3) cu o stare de
              conversie care începe în starea inițială înainte de primul octet). Caracterele late  rezultate  se
              scriu  până  la  (dar  fără  a include) caracterul lat nul de sfârșit (L„\0”). În cazul în care se
              specifică o precizie, nu se scriu mai multe caractere late decât numărul specificat.  Rețineți  că
              precizia  determină  numărul  de caractere late scrise, nu numărul de octeți sau poziții pe ecran.
              Matricea trebuie să conțină un octet de sfârșit nul („\0”), cu excepția cazului în care se  indică
              o  precizie  și  aceasta  este  atât  de mică încât numărul de caractere late convertite îl atinge
              înainte de a se ajunge la sfârșitul matricei. În cazul în care este prezent un modificator  l:  se
              așteaptă  ca  argumentul  const wchar_t *  să  fie  un  indicator  la o matrice de caractere late.
              Caracterele late din matrice se scriu până la (dar fără a include) un caracter lat nul de sfârșit.
              În cazul în care se  specifică  o  precizie,  nu  se  scriu  mai  multe  caractere  decât  numărul
              specificat.  Matricea  trebuie  să  conțină un caracter lat nul de sfârșit, cu excepția cazului în
              care se indică o precizie și aceasta este mai mică sau egală cu  numărul  de  caractere  late  din
              matrice.

VALOAREA RETURNATĂ

       Funcțiile  returnează  numărul  de  caractere late scrise, cu excepția caracterului lat de sfârșit nul în
       cazul funcțiilor swprintf() și vswprintf(). Ele returnează -1 atunci când apare o eroare.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌──────────────────────────────────────────────────────────────────┬───────────────────┬────────────────┐
       │ InterfațăAtributValoare        │
       ├──────────────────────────────────────────────────────────────────┼───────────────────┼────────────────┤
       │ wprintf(), fwprintf(), swprintf(), vwprintf(), vfwprintf(),      │ Siguranța firelor │ MT-Safe locale │
       │ vswprintf()                                                      │                   │                │
       └──────────────────────────────────────────────────────────────────┴───────────────────┴────────────────┘

STANDARDE

       C11, POSIX.1-2008.

ISTORIC

       POSIX.1-2001, C99.

NOTE

       Comportamentul lui wprintf() și altele depinde de categoria LC_CTYPE din configurația regională curentă.

       În cazul în care șirul format conține caractere late non-ASCII, programul va funcționa corect numai  dacă
       categoria  LC_CTYPE  a  configurației  regionale  curente în momentul execuției este aceeași cu categoria
       LC_CTYPE a configurației regionale curente în momentul compilării. Acest lucru se datorează  faptului  că
       reprezentarea  wchar_t  este  dependentă  de  platformă  și  de configurația regională; (glibc reprezintă
       caracterele late folosind punctul de cod Unicode (ISO/IEC 10646) al acestora, dar alte platforme  nu  fac
       acest  lucru;  de  asemenea,  utilizarea  numelor  de caractere universale C99 de forma \unnnn nu rezolvă
       această problemă). Prin urmare, în programele internaționalizate, șirul format ar trebui  să  fie  format
       numai  din  caractere  ASCII  late  sau  ar  trebui  să  fie  construit  în  timpul execuției într-un mod
       internaționalizat (de exemplu, folosind gettext(3) sau iconv(3), urmat de mbstowcs(3)).

CONSULTAȚI ȘI

       fprintf(3), fputwc(3), fwide(3), printf(3), snprintf(3)

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.

Pagini de manual de Linux 6.9.1                   15 iunie 2024                                       wprintf(3)