Документация по LinuxLinuxDoc.Ru 🔍

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

НАЗВАНИЕ
asprintf, vasprintf - вывести данные в выделенную в памяти
строку

СИНТАКСИС
#define _GNU_SOURCE
#include

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

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

ОПИСАНИЕ
Функции asprintf и vasprintf являются аналогами sprintf и
vsprintf, отличаясь тем, что они выделяют в памяти строку,
достаточную для размещения результата, включая конечный
NUL, и возвращают указатель на эту строку через первый
аргумент. Для высвобождения выделенной памяти указатель
должен быть передан функции free(3).

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

ЗАМЕЧАНИЯ
Эти функции являются расширениями GNU, и не соответсвуют
ни C, ни POSIX. Кроме того, они доступны в *BSD. В
FreeBSD при ошибке strp устанавливается в NULL.
Читать новости Linux в Telegram
Linux - asprintf, vasprintf - вывести данные в выделенную в памяти строку
Мы в соцсетях ✉