ASPRINTF(3) Manuel du programmeur Linux ASPRINTF(3)
asprintf, vasprintf - Ãcriture formatée dans une chaîne allouée
#define _GNU_SOURCE
#include <stdio.h>
int asprintf(char **strp, const char *fmt, ...);
int vasprintf(char **strp, const char *fmt, va_list ap);
Les fonctions asprintf() et vasprintf() sont similaires à sprintf(3) et
vsprintf(3), si ce n’est qu’elles allouent une chaîne de caractères
de taille suffisante pour contenir la sortie, y compris l’octet de ter‐
minaison NULL et qu’elles renvoient un pointeur vers cette chaîne via
le premier paramètre. Ce pointeur devra être passé en paramètre Ã
free(3) afin de libérer la zone allouée lorsqu’elle ne sera plus
nécessaire.
En cas de succès, ces fonctions renvoient le nombre de caractères
imprimés, tout comme sprintf(3). Si l’allocation mémoire n’a pas
été possible, ou qu’une autre erreur est survenue, ces fonctions ren‐
voient -1 et la valeur de strp est indéfinie.
Ces fonctions sont des extensions GNU et sont absentes des standards C
et POSIX. Elles sont également disponibles sous BSD. L’implémentation
FreeBSD affecte à strp la valeur NULL en cas d’erreur.
free(3), malloc(3), printf(3), feature_test_macros(7)
Cette page fait partie de la publication 3.07 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent être trouvées à l’adresse http://www.ker‐
nel.org/doc/man-pages/.
Cette page de manuel a été traduite par Stéphan Rafin <stephan DOT
rafin AT laposte DOT net> en 2002, puis a été mise à jour par Alain
Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à dispo‐
sition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian
sont directement gérées par Florentin Duneau <fduneau [AT] gmail.com> et
l’équipe francophone de traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant Ã
<debian-l10n-french [AT] lists.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> ».
GNU 18 décembre 2001 ASPRINTF(3)