ASPRINTF(3) Manual del Programador de Linux ASPRINTF(3)
asprintf, vasprintf - imprimen en una cadena reservada
#define _GNU_SOURCE
#include <stdio.h>
int asprintf(char **strp, const char *fmt, ...);
int vasprintf(char **strp, const char *fmt, va_list ap);
Las funciones asprintf y vasprintf son análogas a sprintf y vsprintf,
salvo porque reservan una cadena lo suficientemente grande para almace‐
nar la salida incluyendo el carácter NUL del final, y devuelven un
puntero a ella a través del primer parámetro. Este puntero debe ser
pasado a free(3) para liberar la memoria asignada cuando ya no se nece‐
site.
Cuando tienen éxito, estas funciones devuelven el número de bytes
impresos, al igual que sprintf(3). Si la reserva de memoria no se pudo
llevar a cabo, o ocurre algun otro error, estas funciones devuelven -1,
y el contenido de strp queda indefinido.
Estas funciones son extensiones de GNU, no están disponibles ni en C
ni en POSIX. También están disponibles bajo *BSD. La imple‐
mentación de FreeBSD asigna a strp el valor NULL en caso de error.
free(3), malloc(3), printf(3)
GNU 18 diciembre 2001 ASPRINTF(3)