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

NOM

       wprintf,  fwprintf, swprintf, vwprintf, vfwprintf, vswprintf - Formater
       des chaînes de caractères 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 fonctionnalités  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'équivalent pour les  caractères
       larges  de  la famille de fonctions printf(3). Elle réalise une mise en
       forme des caractères larges.

       Les fonctions wprintf() et vwprintf() réalisent  le  traitement  et  la
       sortie  de  chaînes de caractères larges sur stdout. stdout ne doit pas
       être orienté caractères (consultez fwide(3) pour plus d'informations).

       Les fonctions fwprintf() et vfwprintf() réalisent la mise en  forme  de
       chaînes  de  caractères  larges  en  vue d'une écriture dans le fichier
       stream. stream ne doit pas être orienté caractères (consultez  fwide(3)
       pour plus d'informations).

       Les  fonctions  swprintf()  et  vswprintf()  réalisent la mise en forme
       d'une chaîne de caractères larges avant de l'écrire dans un tableau  de
       caractères  larges.  Le programmeur doit s'assurer qu'il y ait assez de
       place pour au moins maxlen caractères larges dans wcs.

       Ces fonctions se comportent  de  la  même  manière  que  les  fonctions
       printf(3),   vprintf(3),   fprintf(3),   vfprintf(3),   sprintf(3)   et
       vsprintf(3), hormis les différences suivantes :

       ·      La chaîne format est composée de caractères larges.

       ·      La sortie est faite de caractères larges, pas d'octets.

       ·      swprintf()  et  vswprintf()   prennent   un   argument   maxlen,
              contrairement   à  sprintf(3)  et  vsprintf(3)  (snprintf(3)  et
              vsnprintf(3) prennent un argument maxlen, mais ces fonctions  ne
              renvoient pas -1 en cas de débordement mémoire sous Linux).

       Le traitement des caractères de conversion c et s est différent :

       c      Si  aucun  modificateur  l  n'est  présent,  l'argument  int est
              converti en un caractère  large  par  un  appel  à  la  fonction
              btowc(3)  et  le  caractère  large en résultant est écrit. Si un
              modificateur l est présent, l'argument wint_t (caractère  large)
              est écrit.

       s      Si  aucun  modificateur l n'est présent, l'argument const char *
              est interprété comme un pointeur sur un  tableau  de  caractères
              (une   chaîne)  contenant  une  séquence  de  caractères  larges
              commençant à l'état initial.  Les  caractères  du  tableau  sont
              convertis  en  caractères  larges  (un  par un par l'appel de la
              fonction mbrtowc(3) avec  un  état  de  conversion  réinitialisé
              avant  le  premier  octet).  La  chaîne  de caractères larges en
              résultant est écrite jusqu'au dernier caractère (non compris  le
              caractère  nul  final).  Si  la  taille est donnée, le nombre de
              caractères larges écrits ne la dépassera pas. Notez bien que  la
              taille détermine le nombre de caractres larges écrits et non le
              nombre  d'octets  ou  de  positions  d'cran.  Le  tableau  doit
              contenir  un  octet nul final, à moins que la taille donnée soit
              si petite que le nombre de caractères larges est  atteint  avant
              la fin du tableau. Si un modificateur l est présent : l'argument
              const wchar_t * est interprété comme un pointeur sur un  tableau
              de  caractères  larges.  Les  caractères  larges du tableau sont
              écrits jusqu'au dernier (non compris le caractère nul final). Si
              la  taille  est  indiquée,  le nombre de caractères écrits ne la
              dépassera pas. Le tableau doit contenir un caractère nul final à
              moins que la taille donnée soit inférieure ou égale au nombre de
              caractères larges du tableau.

VALEUR RENVOYÉE

       Ces fonctions renvoient le nombre  de  caractères  larges  écrits,  non
       compris  le caractère nul final dans le cas des fonctions swprintf() et
       vswprintf(). Elles renvoient -1 en cas d'erreur.

CONFORMITÉ

       C99.

NOTES

       Le comportement de  wprintf()  et  compagnie  dépend  de  la  catégorie
       LC_CTYPE de la locale utilisée.

       Si  la  chaîne  format  contient  des  caractères  larges non ASCII, le
       programme ne fonctionnera correctement que si la catégorie LC_CTYPE  de
       la  localisation  lors  de  l'exécution  est  la  même  que  lors de la
       compilation.  En  effet,  la  représentation  de  wchar_t   dépend   de
       l'architecture   et   de  la  localisation.  La  glibc  représente  les
       caractères larges à l'aide de leurs codes Unicode (ISO-10646), mais les
       autres  architectures  ne  font pas de même. De plus, l'utilisation des
       noms de caractères universels de C99 (de la forme \unnnn) ne résout pas
       ce  problème. Aussi, la chaîne format ne devrait être constituée que de
       caractères larges dans les programmes internationalisés, ou alors  elle
       doit  être  construite  à  l'exécution de manière internationalisée (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      être       trouvées       à       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue à l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'équipe   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  François et l'équipe
       francophone de traduction de Debian (2006-2009).

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

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».