Provided by: manpages-ru-dev_4.18.1-1_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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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