vprintf_s, vwprintf_s
Nach oben zu stdio.h - Index
Header-Datei
stdio.h
Kategorie
Funktionen für die formatierte Eingabe/Ausgabe
Prototyp
int vprintf_s(const char * restrict format, va_list arg);
int vwprintf_s(const wchar_t * restrict format, va_list arg);
Beschreibung
Ersetzt vprintf, vwprintf und fügt Sicherheitserweiterungen hinzu.
Hinweis: Verwenden Sie diese Funktion nicht in Win32-GUI-Anwendungen.
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.
vprintf_s entspricht vprintf, vwprintf, fügt aber Laufzeiteinschränkungen bezüglich der Gültigkeit von stream, format und der Elemente in arg hinzu, die einem %s-Formatbezeichner entsprechen (dürfen keine Null-Zeiger sein).
Rückgabewert
vprintf_s gibt die Anzahl der ausgegebenen Zeichen zurück. Bei einem Fehler gibt vprintf_s einen negativen Wert zurück.
Beispiel
#include <stdio.h> #include <stdarg.h> int vpf(char *fmt, ...) { va_list argptr; int cnt; va_start(argptr, fmt); cnt = vprintf_s(fmt, argptr); va_end(argptr); return(cnt); } int main(void) { int inumber = 30; float fnumber = 90.0; char *string = "abc"; vpf("%d %f %s\n",inumber,fnumber,string); return 0; }
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
vprintf_s |
+ |
+ |
+ |
+ |
vwprintf_s |
+ |
+ |
+ |