Linux |
CentOS 5.3 |
|
asprintf(3) |
asprintf, vasprintf − Ãcriture formatée dans une chaîne allouée. |
#define _GNU_SOURCE 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() 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. |
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. |
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. |
free(3), malloc(3), printf(3) |
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. |
asprintf(3) |