home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | CONFORMING TO | SEE ALSO | COLOPHON


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

NAME         top

       asprintf, vasprintf - print to allocated string

SYNOPSIS         top

       #define _GNU_SOURCE
       #include <stdio.h>

       int asprintf(char **strp, const char *fmt, ...);

       int vasprintf(char **strp, const char *fmt, va_list ap);

DESCRIPTION         top

       The functions asprintf() and vasprintf() are analogs of sprintf(3) and
       vsprintf(3), except that they allocate a string large enough to hold the
       output including the terminating null byte, and return a pointer to it via the
       first argument.  This pointer should be passed to free(3) to release the
       allocated storage when it is no longer needed.

RETURN VALUE         top

       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.

CONFORMING TO         top

       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         top

       free(3), malloc(3), printf(3), feature_test_macros(7)

COLOPHON         top

       This page is part of release 3.23 of the Linux man-pages project.  A
       description of the project, and information about reporting bugs, can be found
       at http://www.kernel.org/doc/man-pages/.

GNU                                   2001-12-18                          ASPRINTF(3)