NOM
asprintf, vasprintf - Écriture formatée dans une chaîne allouée
SYNOPSIS
#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
terminaison 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.
VALEUR RENVOYÉE
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 renvoient
-1 et la valeur de strp est indéfinie.
CONFORMITÉ
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.
VOIR AUSSI
free(3), malloc(3), printf(3), feature_test_macros(7)
COLOPHON
Cette page fait partie de la publication 3.23 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/.
TRADUCTION
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 à
disposition 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@gmail.com> et l’équipe
francophone de traduction de Debian.
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> ».