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 |
+ |
+ |
+ |