Dynamic memory extensions
From cppreference.com
< c | experimental
Extensions to the C Library Part II: Dynamic Allocation Functions, ISO/IEC TR 24731-2:2010, defines the following new components for the C standard library:
| __STDC_ALLOC_LIB__ |
integer constant of type long indicating conformance level (macro constant) |
| Defined in header
<stdio.h> | |
| (dynamic memory TR) |
opens a fixed-size memory buffer as an I/O stream (function) |
| (dynamic memory TR) |
opens a dynamically resized memory buffer as an I/O stream (function) |
| (dynamic memory TR) |
variants of sprintf etc that write to automatically-allocated buffer and return a pointer to it (function) |
| (dynamic memory TR) |
read from a stream into a automatically resized buffer until delimiter/end of line (function) |
| Defined in header
<string.h> | |
| (dynamic memory TR) |
allocate a copy of a string (function) |
| (dynamic memory TR) |
allocate a copy of a string up to specified size (function) |
This library extension also introduces assignment-allocation character m for use with %s, %[, and %c conversion specifiers in fscanf and fwscanf family of functions.
[edit] Notes
The functions fmemopen, open_memstream, open_wmemstream, getdelim, getline, strdup, strndup, and the extensions to fscanf are available in POSIX (ISO/IEC 9945:2003).
The functions asprintf and vasprintf are available in Linux Standard Base (ISO/IEC IS 23360:2006)