man asprintf (Fonctions bibliothèques) - Ecriture formatée dans une chaîne allouée
NOM
asprintf, vasprintf - Ecriture 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);
DESCRIPTION
Les fonctions asprintf et vasprintf sont similaires à sprintf et vsprintf, si ce n'est qu'elles allouent une chaîne de caractères de taille suffisante pour contenir la sortie, y compris le NUL terminal, 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.
NOTES
Ces fonctions sont des extensions GNU et sont absentes des standards C et POSIX. Elles sont également disponibles sous *BSD. L'implantation FreeBSD affecte à strp la valeur NULL en cas d'erreur.
VOIR AUSSI
TRADUCTION
Stéphan Rafin, 2002.