Provided by: manpages-de-dev_4.21.0-2_all 

BEZEICHNUNG
asprintf, vasprintf - Ausgabe in reservierte Zeichenkette
BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)
ÜBERSICHT
#define _GNU_SOURCE /* siehe 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);
BESCHREIBUNG
Die Funktionen asprintf() und vasprintf() sind analog zu sprintf(3) und vsprintf(3). Der Unterschied
besteht darin, dass sie ausreichend großen Speicherplatz für die Zeichenkette reservieren, um die Ausgabe
inklusive des abschließenden Nullbytes (»\0«) aufzunehmen. Ein Zeiger auf den Speicher wird über den
ersten Parameter zurückgegeben. Dieser Zeiger sollte an free(3) übergeben werden, um den reservierten
Speicherbereich wieder freizugeben, wenn er nicht mehr benötigt wird.
RÜCKGABEWERT
Bei Erfolg geben diese Funktionen, wie auch sprintf(3), die Anzahl ausgegebener Bytes zurück. Wenn Fehler
auftreten (z.B. eine gescheiterte Speicherreservierung), geben diese Funktionen -1 zurück. Dann ist der
Inhalt von strp nicht definiert.
ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
┌──────────────────────────────────────────────────────────────┬───────────────────────┬────────────────┐
│ Schnittstelle │ Attribut │ Wert │
├──────────────────────────────────────────────────────────────┼───────────────────────┼────────────────┤
│ asprintf(), vasprintf() │ Multithread-Fähigkeit │ MT-Safe locale │
└──────────────────────────────────────────────────────────────┴───────────────────────┴────────────────┘
STANDARDS
Diese Funktionen sind GNU-Erweiterungen. Sie sind nicht in C oder POSIX definiert. Sie sind auch unter
*BSD verfügbar. Die FreeBSD-Implementierung setzt strp bei Fehlern auf NULL.
SIEHE AUCH
free(3), malloc(3), printf(3)
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von David Thamm <dthamm@bfs.de>, Martin Schulze <jo‐
ey@infodrom.org>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaet‐
termann@gmail.com> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer.
Linux man-pages 6.03 5. Februar 2023 asprintf(3)