печать в выделенную строку (print to allocated string)
Имя (Name)
asprintf, vasprintf - print to allocated string
Синопсис (Synopsis)
#define _GNU_SOURCE
/* See 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);
Описание (Description)
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.
Возвращаемое значение (Return value)
When successful, these functions return the number of bytes
printed, just like sprintf(3). If memory allocation wasn't
possible, or some other error occurs, these functions will return
-1, and the contents of strp are undefined.
Атрибуты (Attributes)
For an explanation of the terms used in this section, see
attributes(7).
┌───────────────────────────────┬───────────────┬────────────────┐
│Interface
│ Attribute
│ Value
│
├───────────────────────────────┼───────────────┼────────────────┤
│asprintf
(), vasprintf
() │ Thread safety │ MT-Safe locale │
└───────────────────────────────┴───────────────┴────────────────┘
Стандарты (Conforming to)
These functions are GNU extensions, not in C or POSIX. They are
also available under *BSD. The FreeBSD implementation sets strp
to NULL on error.
Смотри также (See also)
free(3), malloc(3), printf(3)