Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
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 caractere 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.27 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> >>.