Linux

CentOS 4.8

asprintf(3)


ASPRINTF

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

free(3), malloc(3), printf(3)

TRADUCTION

Stéphan Rafin, 2002.


asprintf(3)