Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       wprintf,  fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - Formater
       des chaines de caracteres larges

SYNOPSIS

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

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

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

   Exigences de macros de test de fonctionnalites  pour  la  glibc  (consultez
   feature_test_macros(7)) :

       Pour toutes les fonctions ci-dessus :
           _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE ||
           _POSIX_C_SOURCE >= 200112L
           ou cc -std=c99

DESCRIPTION

       La famille de fonctions wprintf() est l'equivalent pour les  caracteres
       larges  de  la famille de fonctions printf(3). Elle realise une mise en
       forme des caracteres larges.

       Les fonctions wprintf() et vwprintf() realisent  le  traitement  et  la
       sortie  de  chaines de caracteres larges sur stdout. stdout ne doit pas
       etre oriente caracteres (consultez fwide(3) pour plus d'informations).

       Les fonctions fwprintf() et vfwprintf() realisent la mise en  forme  de
       chaines  de  caracteres  larges  en  vue d'une ecriture dans le fichier
       stream. stream ne doit pas etre oriente caracteres (consultez  fwide(3)
       pour plus d'informations).

       Les  fonctions  swprintf()  et  vswprintf()  realisent la mise en forme
       d'une chaine de caracteres larges avant de l'ecrire dans un tableau  de
       caracteres  larges.  Le programmeur doit s'assurer qu'il y ait assez de
       place pour au moins maxlen caracteres larges dans wcs.

       Ces fonctions se comportent  de  la  meme  maniere  que  les  fonctions
       printf(3),   vprintf(3),   fprintf(3),   vfprintf(3),   sprintf(3)   et
       vsprintf(3), hormis les differences suivantes :

       +o      La chaine format est composee de caracteres larges.

       +o      La sortie est faite de caracteres larges, pas d'octets.

       +o      swprintf()  et  vswprintf()   prennent   un   argument   maxlen,
              contrairement   a  sprintf(3)  et  vsprintf(3)  (snprintf(3)  et
              vsnprintf(3) prennent un argument maxlen, mais ces fonctions  ne
              renvoient pas -1 en cas de debordement memoire sous Linux).

       Le traitement des caracteres de conversion c et s est different :

       c      Si  aucun  modificateur  l  n'est  present,  l'argument  int est
              converti en un caractere  large  par  un  appel  a  la  fonction
              btowc(3)  et  le  caractere  large en resultant est ecrit. Si un
              modificateur l est present, l'argument wint_t (caractere  large)
              est ecrit.

       s      Si  aucun  modificateur l n'est present, l'argument const char *
              est interprete comme un pointeur sur un  tableau  de  caracteres
              (une   chaine)  contenant  une  sequence  de  caracteres  larges
              commencant a l'etat initial.  Les  caracteres  du  tableau  sont
              convertis  en  caracteres  larges  (un  par un par l'appel de la
              fonction mbrtowc(3) avec  un  etat  de  conversion  reinitialise
              avant  le  premier  octet).  La  chaine  de caracteres larges en
              resultant est ecrite jusqu'au dernier caractere (non compris  le
              caractere  nul  final).  Si  la  taille est donnee, le nombre de
              caracteres larges ecrits ne la depassera pas. Notez bien que  la
              taille determine le nombre de caract`eres larges ecrits et non le
              nombre  d'octets  ou  de  positions  d''ecran.  Le  tableau  doit
              contenir  un  octet nul final, a moins que la taille donnee soit
              si petite que le nombre de caracteres larges est  atteint  avant
              la fin du tableau. Si un modificateur l est present : l'argument
              const wchar_t * est interprete comme un pointeur sur un  tableau
              de  caracteres  larges.  Les  caracteres  larges du tableau sont
              ecrits jusqu'au dernier (non compris le caractere nul final). Si
              la  taille  est  indiquee,  le nombre de caracteres ecrits ne la
              depassera pas. Le tableau doit contenir un caractere nul final a
              moins que la taille donnee soit inferieure ou egale au nombre de
              caracteres larges du tableau.

VALEUR RENVOY'EE

       Ces fonctions renvoient le nombre  de  caracteres  larges  ecrits,  non
       compris  le caractere nul final dans le cas des fonctions swprintf() et
       vswprintf(). Elles renvoient -1 en cas d'erreur.

CONFORMIT'E

       C99.

NOTES

       Le comportement de  wprintf()  et  compagnie  depend  de  la  categorie
       LC_CTYPE de la locale utilisee.

       Si  la  chaine  format  contient  des  caracteres  larges non ASCII, le
       programme ne fonctionnera correctement que si la categorie LC_CTYPE  de
       la  localisation  lors  de  l'execution  est  la  meme  que  lors de la
       compilation.  En  effet,  la  representation  de  wchar_t   depend   de
       l'architecture   et   de  la  localisation.  La  glibc  represente  les
       caracteres larges a l'aide de leurs codes Unicode (ISO-10646), mais les
       autres  architectures  ne  font pas de meme. De plus, l'utilisation des
       noms de caracteres universels de C99 (de la forme \unnnn) ne resout pas
       ce  probleme. Aussi, la chaine format ne devrait etre constituee que de
       caracteres larges dans les programmes internationalises, ou alors  elle
       doit  etre  construite  a  l'execution de maniere internationalisee (en
       utilisant par exemple gettext(3) ou iconv(3), suivi de mbstowcs(3)).

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de  la  publication  3.32  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Thierry         Vignaud          (2002),          Alain          Portal
       <URL:http://manpagesfr.free.fr/> (2006).   Nicolas Francois et l'equipe
       francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute  erreur   de   traduction   en   ecrivant   a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.