Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       asprintf, vasprintf - выводит данные в строку, выделенную в памяти

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #define _GNU_SOURCE         /* см. feature_test_macros(7) */
       #include <stdio.h>

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

ОПИСАНИЕ

       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 ('\0'), 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.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном выполнении эти функции, подобно sprintf(3), возвращают количество  выведенных  байтов.  Если
       выделить память не удалось или произошла какая-либо другая ошибка, то эти функции возвращают -1. При этом
       содержимое strp не определено.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌───────────────────────────────────────────────────────────────┬──────────────────────┬────────────────┐
       │ ИнтерфейсАтрибутЗначение       │
       ├───────────────────────────────────────────────────────────────┼──────────────────────┼────────────────┤
       │ asprintf(), vasprintf()                                       │ Безвредность в нитях │ MT-Safe locale │
       └───────────────────────────────────────────────────────────────┴──────────────────────┴────────────────┘

СТАНДАРТЫ

       Эти  функции являются расширениями GNU, они отсутствуют в C и POSIX. Также они доступны в *BSD. В FreeBSD
       при ошибке strp присваивается значение NULL.

СМ. ТАКЖЕ

       free(3), malloc(3), printf(3)

ПЕРЕВОД

       Русский перевод этой страницы руководства был сделан Dmitry  Bolkhovskikh  <d20052005@yandex.ru>  и  Yuri
       Kozlov <yuray@komyakino.ru>

       Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо
       на man-pages-ru-talks@lists.sourceforge.net.

Linux man-pages 6.03                            5 февраля 2023 г.                                    asprintf(3)