Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Jede dieser vprintf-Funktionen verwendet einen Zeiger auf eine Argumentliste und formatiert und schreibt dann die angegebenen Daten in ein bestimmtes Ziel. Die Funktionen unterscheiden sich auf verschiedene Arten: Bei der Parameterüberprüfung werden bei der Parameterüberprüfung unabhängig davon, ob die Funktionen single-byte- oder wide character strings, das Ausgabeziel und die Unterstützung für die Angabe der Reihenfolgeparameter in der Formatzeichenfolge verwendet werden.
_vcprintf, _vcwprintf
vfprintf, vfwprintf
_vfprintf_p, , _vfprintf_p_l_vfwprintf_p_vfwprintf_p_l
vfprintf_s, , _vfprintf_s_lvfwprintf_s_vfwprintf_s_l
vprintf, vwprintf
_vprintf_p, , _vprintf_p_l_vwprintf_p_vwprintf_p_l
vprintf_s, , _vprintf_s_lvwprintf_s_vwprintf_s_l
_vscprintf, , _vscprintf_l_vscwprintf_vscwprintf_l
_vsnprintf, _vsnwprintfvsprintfvswprintf
_vsprintf_p, , _vsprintf_p_l_vswprintf_p_vswprintf_p_l
vsprintf_s, , _vsprintf_s_lvswprintf_s_vswprintf_s_l
Hinweise
Die vprintf-Funktionen verhalten sich ähnlich wie die entsprechenden Funktionen, die in der folgenden Tabelle aufgeführt werden. Allerdings akzeptiert jede vprintf-Funktion einen Zeiger auf eine Argumentliste, während jede der entsprechenden Funktionen eine Argumentliste akzeptiert.
Diese Funktionen formatieren Daten für die Ausgabe an die im Folgenden genannten Ziele.
| Funktion | Entsprechende Funktion | Ausgabeziel | Parameterüberprüfung | Unterstützung für positionale Parameter |
|---|---|---|---|---|
_vcprintf |
_cprintf |
Konsole | Prüfen Sie auf NULL. | Nein |
_vcwprintf |
_cwprintf |
Konsole | Prüfen Sie auf NULL. | Nein |
vfprintf |
fprintf |
stream |
Prüfen Sie auf NULL. | Nein |
vfprintf_p |
fprintf_p |
stream |
Prüfen Sie auf NULL und ein gültiges Format. | ja |
vfprintf_s |
fprintf_s |
stream |
Prüfen Sie auf NULL und ein gültiges Format. | Nein |
vfwprintf |
fwprintf |
stream |
Prüfen Sie auf NULL. | Nein |
vfwprintf_p |
fwprintf_p |
stream |
Prüfen Sie auf NULL und ein gültiges Format. | ja |
vfwprintf_s |
fwprintf_s |
stream |
Prüfen Sie auf NULL und ein gültiges Format. | Nein |
vprintf |
printf |
stdout |
Prüfen Sie auf NULL. | Nein |
vprintf_p |
printf_p |
stdout |
Prüfen Sie auf NULL und ein gültiges Format. | ja |
vprintf_s |
printf_s |
stdout |
Prüfen Sie auf NULL und ein gültiges Format. | Nein |
vwprintf |
wprintf |
stdout |
Prüfen Sie auf NULL. | Nein |
vwprintf_p |
wprintf_p |
stdout |
Prüfen Sie auf NULL und ein gültiges Format. | ja |
vwprintf_s |
wprintf_s |
stdout |
Prüfen Sie auf NULL und ein gültiges Format. | Nein |
vsprintf |
sprintf |
Speicher, auf den verwiesen wird, von buffer |
Prüfen Sie auf NULL. | Nein |
vsprintf_p |
sprintf_p |
Speicher, auf den verwiesen wird, von buffer |
Prüfen Sie auf NULL und ein gültiges Format. | ja |
vsprintf_s |
sprintf_s |
Speicher, auf den verwiesen wird, von buffer |
Prüfen Sie auf NULL und ein gültiges Format. | Nein |
vswprintf |
swprintf |
Speicher, auf den verwiesen wird, von buffer |
Prüfen Sie auf NULL. | Nein |
vswprintf_p |
swprintf_p |
Speicher, auf den verwiesen wird, von buffer |
Prüfen Sie auf NULL und ein gültiges Format. | ja |
vswprintf_s |
swprintf_s |
Speicher, auf den verwiesen wird, von buffer |
Prüfen Sie auf NULL und ein gültiges Format. | Nein |
_vscprintf |
_vscprintf |
Speicher, auf den verwiesen wird, von buffer |
Prüfen Sie auf NULL. | Nein |
_vscwprintf |
_vscwprintf |
Speicher, auf den verwiesen wird, von buffer |
Prüfen Sie auf NULL. | Nein |
_vsnprintf |
_snprintf |
Speicher, auf den verwiesen wird, von buffer |
Prüfen Sie auf NULL. | Nein |
_vsnwprintf |
_snwprintf |
Speicher, auf den verwiesen wird, von buffer |
Prüfen Sie auf NULL. | Nein |
Das Argument argptr weist den Typ va_list auf, der in VARARGS.H und STDARG.H definiert ist. Die argptr Variable muss durch va_start initialisiert werden und kann durch nachfolgende va_arg Aufrufe erneut initialisiert werden; argptr verweist dann auf den Anfang einer Liste von Argumenten, die für die Ausgabe gemäß den entsprechenden Spezifikationen des format Arguments konvertiert und übertragen werden. format hat das gleiche Formular und dieselbe Funktion wie das format Argument für printf. Keine dieser Funktionen ruft auf va_end. Eine umfassendere Beschreibung der einzelnen vprintf-Funktionen finden Sie in der Beschreibung der entsprechenden Funktion, wie in der obigen Tabelle aufgeführt wird.
_vsnprintf unterscheidet sich von vsprintf der, dass sie nicht mehr als count Bytes in buffer.
Die Versionen dieser Funktionen mit dem W-Infix im Namen sind Breitzeichenversionen der entsprechenden Funktionen ohne das W-Infix ; in jeder dieser Breitzeichenfunktionen buffer und format sind Breite-Zeichen-Zeichenfolgen. Anderenfalls verhält sich jede Breitzeichenfunktion identisch zu der entsprechenden SBCS-Funktion.
Die Versionen dieser Funktionen mit _s und _p Suffixen sind die sichereren Versionen. Diese Versionen überprüfen die Formatzeichenfolgen. Sie generieren eine Ausnahme, wenn die Formatzeichenfolge nicht wohlgeformt ist (z. B. wenn ungültige Formatierungszeichen verwendet werden).
Mit den Versionen dieser Funktionen mit dem _p Suffix können Sie die Reihenfolge angeben, in der die angegebenen Argumente in der Formatzeichenfolge ersetzt werden. Weitere Informationen finden Sie unter printf-Positionsparameter.
vswprintf_vsnwprintf_vsnprintf Wenn vsprintfdas Kopieren zwischen überlappenden Zeichenfolgen erfolgt, ist das Verhalten nicht definiert.
Wichtig
Stellen Sie sicher, dass format keine benutzerdefinierte Zeichenfolge ist. Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen. Wenn Sie die sicheren Versionen dieser Funktionen (entweder die _s Oder _p Suffixe) verwenden, kann eine vom Benutzer bereitgestellte Formatzeichenfolge eine ungültige Parameterausnahme auslösen, wenn die vom Benutzer bereitgestellte Zeichenfolge ungültige Formatierungszeichen enthält.
Siehe auch
Stream-E/A
fprintf, , _fprintf_lfwprintf_fwprintf_l
printf, , _printf_lwprintf_wprintf_l
sprintf, , _sprintf_lswprintf, , _swprintf_l__swprintf_l
va_arg, , va_copyva_endva_start