ABCDEFGHIJKLMNOPQRSTUVWXYZ

vasprintf

ASPRINTF(3)                Linux Programmer's Manual               ASPRINTF(3)



NAME
       asprintf, vasprintf - print to allocated string

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
       The  functions  asprintf  and  vasprintf  are  analogues of sprintf and
       vsprintf, except that they allocate a string large enough to  hold  the
       output  including  the  terminating NUL, and return a pointer to it via
       the first parameter.  This pointer  should  be  passed  to  free(3)  to
       release the allocated storage when it is no longer needed.

RETURN VALUE
       When  successful,  these  functions return the number of bytes printed,
       just like sprintf(3).  If memory allocation wasn't  possible,  or  some
       other error occurs, these functions will return -1, and the contents of
       strp is undefined.

NOTES
       These functions are GNU extensions, not in C or POSIX.  They  are  also
       available  under *BSD.  The FreeBSD implementation sets strp to NULL on
       error.

SEE ALSO
       free(3), malloc(3), printf(3)




GNU                               2001-12-18                       ASPRINTF(3)