asprintf

Autres langues

Langue: fr

Version: 18 décembre 2001 (manpagesfr.free.fr - 07/08/07)

Section: 3 (Bibliothèques de fonctions)

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);

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 l'octet 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.

CONFORMITÉ

Ces fonctions sont des extensions GNU et sont absentes des normes 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

Ce document est une traduction réalisée par Stéphan Rafin <stephan DOT rafin AT laposte DOT net> le 19 avril 2002 et révisée le 14 août 2006.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 asprintf Â». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.