Выделить память и сформировать форматированную строку
#include <stdarg.h>#include <stdio.h>int asprintf( char **bufp,const char *fmt,... );int vasprintf( char **bufp,const char *fmt,va_list va );
libc
Данные функции выделяют память для хранения будущей строки и производят ее запись в новосозданный буфер. Возвращенную через аргумент bufp память следует освободить с помощью free() как только потребность в ней пропадет. Если выделить память не удалось, параметру bufp устанавливается значение NULL
.
Функция vasprintf() является “varargs” версией asprintf(). Обе функции близки по своему принципу работы к vsnprintf().
Число символов, которые записаны в буфер (без завершающего нуля). При ошибке возвращается -1
и устанавливается errno.
GNU, BSD
ЗОСРВ
«Нейтрино»
редакции 2020
errno, fprintf(), fwprintf(), printf(), snprintf(), sprintf(), swprintf(), va_start(), vfprintf(), vfwprintf(), vprintf(), vsnprintf(), vsprintf(), vswprintf(), vwprintf(), wprintf()
Предыдущий раздел: Описание API системной библиотеки