vprintf Funktionen
Jede der vprintf-Funktionen akzeptiert einen Zeiger auf eine Argumentliste, den Formaten und schreibt die angegebenen Daten an ein bestimmtes Ziel.Die Funktionen unterscheiden sich in der ausgeführten Parametervalidierung, ob die Features breit oder Einzelbyte-Zeichenfolgen Ziel, das die Ausgabe und die Unterstützung zum Angeben der Reihenfolge akzeptieren, in der die Parameter in der Formatzeichenfolge verwendet werden.
Hinweise
Die vprintf Äquivalents auf ihre Funktionen sind Funktionen, die in der folgenden Tabelle aufgelistet.Dennoch akzeptiert jede vprintf-Funktion einen Zeiger auf eine Argumentliste, wenn die einzelnen Funktionen Äquivalents der eine Argumentliste akzeptiert.
Diese Funktion für Benutzerdaten Zielen für die Ausgabe wie folgt.
Funktion |
Feature Äquivalents |
Ziel Ausgabe |
Parametervalidierung |
Positionsgebundener Parameter-Unterstützung |
---|---|---|---|---|
_vcprintf |
Konsolenanwendung |
Suchen nach NULL. |
nein |
|
_vcwprintf |
Konsolenanwendung |
Suchen nach NULL. |
nein |
|
vfprintf |
Stream |
Suchen nach NULL. |
nein |
|
vfprintf_p |
Stream |
Prüfen Sie NULL- und gültiges Format. |
ja |
|
vfprintf_s |
Stream |
Prüfen Sie NULL- und gültiges Format. |
nein |
|
vfwprintf |
Stream |
Suchen nach NULL. |
nein |
|
vfwprintf_p |
Stream |
Prüfen Sie NULL- und gültiges Format. |
ja |
|
vfwprintf_s |
Stream |
Prüfen Sie NULL- und gültiges Format. |
nein |
|
vprintf |
Stdout |
Suchen nach NULL. |
nein |
|
vprintf_p |
Stdout |
Prüfen Sie NULL- und gültiges Format. |
ja |
|
vprintf_s |
Stdout |
Prüfen Sie NULL- und gültiges Format. |
nein |
|
vwprintf |
Stdout |
Suchen nach NULL. |
nein |
|
vwprintf_p |
Stdout |
Prüfen Sie NULL- und gültiges Format. |
ja |
|
vwprintf_s |
Stdout |
Prüfen Sie NULL- und gültiges Format. |
nein |
|
vsprintf |
Arbeitsspeicher dargestellt durch den Puffer |
Suchen nach NULL. |
nein |
|
vsprintf_p |
Arbeitsspeicher dargestellt durch den Puffer |
Prüfen Sie NULL- und gültiges Format. |
ja |
|
vsprintf_s |
Arbeitsspeicher dargestellt durch den Puffer |
Prüfen Sie NULL- und gültiges Format. |
nein |
|
vswprintf |
Arbeitsspeicher dargestellt durch den Puffer |
Suchen nach NULL. |
nein |
|
vswprintf_p |
Arbeitsspeicher dargestellt durch den Puffer |
Prüfen Sie NULL- und gültiges Format. |
ja |
|
vswprintf_s |
Arbeitsspeicher dargestellt durch den Puffer |
Prüfen Sie NULL- und gültiges Format. |
nein |
|
_vscprintf |
Arbeitsspeicher dargestellt durch den Puffer |
Suchen nach NULL. |
nein |
|
_vscwprintf |
Arbeitsspeicher dargestellt durch den Puffer |
Suchen nach NULL. |
nein |
|
_vsnprintf |
Arbeitsspeicher dargestellt durch den Puffer |
Suchen nach NULL. |
nein |
|
_vsnwprintf |
Arbeitsspeicher dargestellt durch den Puffer |
Suchen nach NULL. |
nein |
Das argptr-Argument ist vom Typ va_list, der in VARARGS.H und STDARG.H. definiert ist.Die argptr-Variable muss durch va_start. initialisiert werden und wird durch das folgende va_arg Aufrufe möglicherweise neu initialisiert. argptr wird dann an den Anfang einer Liste der Argumente, die für die Ausgabe entsprechend den entsprechenden Angaben im Format-Argument konvertiert und übertragen werden.Format hat das gleiche Form und Funktion wie das Format-Argument für printf.Keine dieser Funktion ruft va_end.Für eine vollständige Beschreibung der einzelnen vprintf-Funktion Weitere Informationen finden Sie in der Beschreibung der Funktion Äquivalents, wie in der vorangehenden Tabelle aufgeführt.
_vsnprintf unterscheidet sich von vsprintf dadurch, dass sie nicht mehr als Zählbytesin den Puffergeschrieben wird.
Die Versionen dieser Funktionen mit dem w Infix im Namen sind Breitzeichenversionen der entsprechenden Funktionen ohne das w Infix. Breitzeichen in jeder dieser Funktionen sind Puffer und Formatieren von Zeichenfolgen mit Breitzeichen.Andernfalls verhält sich genauso wie jede Breitzeiche Funktion SBCS-Äquivalents der Funktion.
Die Versionen dieser Funktionen mit _s und _p Suffixen sind die sichereren Versionen.Diese Versionen überprüfen die Formatzeichenfolgen und eine Ausnahme wird generiert, wenn die Formatzeichenfolge nicht wohl geformt ist (z. B. wenn ungültige Zeichen für die Formatierung verwendet werden).
Die Versionen dieser Funktionen mit dem _p Suffix bieten die Möglichkeit, die Reihenfolge anzugeben, in der die angegebenen Argumente in der Formatzeichenfolge ersetzt werden.Weitere Informationen finden Sie unter printf_p positionelle Parameter.
Für vsprintf, vswprintf, _vsnprintf und _vsnwprintfwenn der Kopiervorgang zwischen Zeichenfolgen auftritt, die sich überschneiden, ist das Verhalten nicht definiert.
Sicherheitshinweis |
---|
Stellen Sie sicher, dass Stil keine benutzerdefinierte Zeichenfolge ist.Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen.Wenn die sicheren Versionen dieser Funktionen (entweder die _s oder _p Suffixe), könnte eine benutzerdefinierte Formatzeichenfolge eine ungültige Parameter ausnahme starten, wenn die vom Benutzer bereitgestellte Zeichenfolge Formatierung ungültige Zeichen enthält. |
Siehe auch
Referenz
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l