Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

vsnprintf - Formatierte Ausgabe in eine Zeichenkette

&pagelevel(4)&pagelevel

Definition

#include <stdarg.h> #include <stdio.h>

int vsnprintf(char *s, size_t n, const char *format, va_list arg);

Beschreibung

vsnprintf() bereitet Daten (Zeichen, Zeichenketten, numerische Werte) gemäß den Angaben in der Zeichenkette format auf und schreibt die Daten in den Bereich, auf den s zeigt.

vsnprintf() gleicht der Funktion vsprintf(). Im Unterschied zu vsprintf() bricht vsnprintf() die Ausgabe beim Erreichen der mit dem Parameter n spezifizierten Länge ab, wodurch ein Pufferüberlauf verhindert werden kann. n darf nicht grösser sein als INT_MAX.

vsnprintf() gibt maximal n-1 Zeichen aus und fügt ein NULL-Zeichen (\0) an das Ende der Ausgabe an. Im Fall n=0 erfolgt keine Ausgabe.

vsnprintf() existiert analog zu vsprintf() als ASCII-, IEEE- und ASCII/IEEE- Funktion (vgl. Abschnitte "IEEE-Gleitpunkt-Arithmetik“ und "ASCII-Codierung“).

Parameter:

Siehe fprintf() .

Returnwert

< 0

n > INT_MAX oder Ausgabefehler.


= 0 .. n-1

Die Ausgabe konnte vollständig aufbereitet werden. Der Returnwert gibt die Länge der Ausgabe ohne das abschließende NULL-Zeichen an.


>= n

Die Ausgabe konnte nicht vollständig aufbereitet werden. Der Returnwert gibt die Länge ohne das abschließende NULL-Zeichen an, die eine vollständige Ausgabe benötigen würde.