wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf
Formater des chaînes de caractères larges
- Provided by: manpages-fr-dev (Version: 3.65d1p1-1)
- Source: manpages-fr
- Report a bug
Formater des chaînes de caractères larges
#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 :
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 :
Le traitement des caractères de conversion c et s est différent :
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.
C99.
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)).
Cette page fait partie de la publication 3.65 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.
Thierry Vignaud (2002), Alain Portal <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> ».