vsprintf, vswprintf
Nach oben zu stdio.h - Index
Header-Datei
stdio.h
Kategorie
Routinen für Speicher- und String-Bearbeitung
Prototyp
int vsprintf(char *buffer, const char *format, va_list arglist);
int vswprintf(wchar_t *buffer, const wchar_t *format, va_list arglist);
Beschreibung
Schreibt eine formatierte Ausgabe in einen Stream.
Die v...printf-Funktionen können als alternative Eintrittspunkte für die ...printf-Funktionen betrachtet werden. Sie verhalten sich genau wie ihre ...printf-Entsprechungen, akzeptieren jedoch einen Zeiger auf eine Argumentliste statt der Argumentliste selbst.
vsprintf akzeptiert einen Zeiger auf eine Argumentliste, ordnet die Argumente den Formatbezeichnern in dem String zu, auf den format zeigt, und schreibt die so formatierten Daten in einen Stream. Es müssen so viele Formatbezeichner wie Argumente vorhanden sein.
Rückgabewert
vsprintf gibt die Anzahl der ausgegebenen Bytes zurück. Wenn ein Fehler auftritt, wird EOF zurückgegeben.
Beispiel
#include <stdio.h> #include <conio.h> #include <stdarg.h> char buffer[80]; int vspf(char *fmt, ...) { va_list argptr; int cnt; va_start(argptr, fmt); cnt = vsprintf(buffer, fmt, argptr); va_end(argptr); return(cnt); } int main(void) { int inumber = 30; float fnumber = 90.0; char string[4] = "abc"; vspf("%d %f %s", inumber, fnumber, string); printf("%s\n", buffer); return 0; }
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
vsprintf |
+ |
+ |
+ |
+ |
vswprintf |
+ |
+ |
+ |