aprintf(3) — Linux manual page

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES | STANDARDS | HISTORY | SEE ALSO | COLOPHON

aprintf(3)               Library Functions Manual              aprintf(3)

NAME         top

       aprintf, vaprintf - allocate and print formatted string

LIBRARY         top

       gnulib - The GNU Portability Library

SYNOPSIS         top

       #include <stdio.h>

       char *aprintf(const char *restrict fmt, ...);
       char *vaprintf(const char *restrict fmt, va_list ap);

DESCRIPTION         top

       The functions aprintf() and vaprintf() are analogs of sprintf(3)
       and vsprintf(3), except that their output is written in a space
       allocated as if by a call to malloc(3).

       This pointer should be passed to free(3) to release the allocated
       storage when it is no longer needed.

RETURN VALUE         top

       On success, these functions return a pointer to the first
       character of the formatted string.  On error, -1 is returned, and
       errno is set to indicate the error.

ERRORS         top

       See sprintf(3) and malloc(3).

ATTRIBUTES         top

       For an explanation of the terms used in this section, see
       attributes(7).
       ┌───────────────────────────────┬───────────────┬────────────────┐
       │ Interface                     Attribute     Value          │
       ├───────────────────────────────┼───────────────┼────────────────┤
       │ aprintf(), vaprintf()         │ Thread safety │ MT-Safe locale │
       └───────────────────────────────┴───────────────┴────────────────┘

STANDARDS         top

       None.

HISTORY         top

       gnulib 202607.

SEE ALSO         top

       free(3), malloc(3), sprintf(3), strdup(3), asprintf(3)

COLOPHON         top

       This page is part of the man-pages (Linux kernel and C library
       user-space interface documentation) project.  Information about
       the project can be found at 
       ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report
       for this manual page, see
       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
       This page was obtained from the tarball man-pages-6.18.tar.gz
       fetched from
       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
       2026-05-24.  If you discover any rendering problems in this HTML
       version of the page, or you believe there is a better or more up-
       to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not
       part of the original manual page), send a mail to
       man-pages@man7.org

Linux man-pages 6.18            2026-03-16                     aprintf(3)