_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l
Schreibt eine formatierte Ausgabe in die Konsole, indem ein Zeiger auf eine Liste von Argumenten verwendet wird. Diese Versionen von _vcprintf, _vcprintf_l, _vcwprintf, _vcwprintf_l enthalten Sicherheitserweiterungen wie unter Sicherheitsfunktionen in der CRT beschrieben.
Wichtig
Diese API kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden.Weitere Informationen finden Sie unter CRT-Funktionen nicht mit /ZW unterstützt.
int _vcprintf(
const char* format,
va_list argptr
);
int _vcprintf(
const char* format,
locale_t locale,
va_list argptr
);
int _vcwprintf_s(
const wchar_t* format,
va_list argptr
);
int _vcwprintf_s_l(
const wchar_t* format,
locale_t locale,
va_list argptr
);
Parameter
format
Formatangabe.argptr
Zeiger auf die Liste der Argumente.locale
Das zu verwendende Gebietsschema.
Weitere Informationen finden Sie unter Syntax der Formatangabe: printf- und wprintf-Funktionen.
Rückgabewert
Die Anzahl geschriebener Zeichen oder ein negativer Wert im Falle eines Ausgabefehlers.
Wenn format wie bei den weniger sicheren Versionen dieser Funktionen ein NULL-Zeiger ist, wird der Handler für ungültige Parameter aufgerufen, wie in Parametervalidierung beschrieben. Wenn zudem format – im Gegensatz zu den weniger sicheren Versionen dieser Funktionen – kein gültiges Format angibt, wird eine Ausnahme wegen eines ungültigen Parameters generiert. Wenn die weitere Ausführung zugelassen wird, geben diese Funktionen einem Fehlercode zurück und legen errno auf diesen Fehlercode fest. Der Standardfehlercode ist EINVAL, wenn kein spezifischerer Wert zur Anwendung kommt.
Hinweise
Jede dieser Funktionen verwendet einen Zeiger auf eine Argumentliste und formatiert und schreibt dann die angegebenen Daten in die Konsole. _vcwprintf_s ist die Breitzeichenversion von _vcprintf_s. Eine Zeichenfolge mit Breitzeichen wird als Argument akzeptiert.
Die Versionen dieser Funktionen mit dem _l-Suffix sind beinahe identisch, verwenden jedoch den Gebietsschemaparameter, der anstelle des aktuellen Gebietsschemas übergeben wurde.
Sicherheitshinweis |
---|
Stellen Sie sicher, dass format keine benutzerdefinierte Zeichenfolge ist.Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen. |
Zuordnung generischer Textroutinen
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_vtcprintf_s |
_vcprintf_s |
_vcprintf_s |
_vcwprintf_s |
_vtcprintf_s_l |
_vcprintf_s_l |
_vcprintf_s_l |
_vcwprintf_s_l |
Anforderungen
Routine |
Erforderlicher Header |
Optionale Header |
---|---|---|
_vcprintf_s, _vcprintf_s_l |
<conio.h> und <stdarg.h> |
<varargs.h>* |
_vcwprintf_s, _vcwprintf_s_l |
<conio.h> oder <wchar.h> und <stdarg.h> |
<varargs.h>* |
* Benötigt für die Kompatibilität mit UNIX V.
Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_vcprintf_s.cpp
#include <conio.h>
#include <stdarg.h>
// An error formatting function used to print to the console.
int eprintf_s(const char* format, ...)
{
va_list args;
va_start(args, format);
return _vcprintf_s(format, args);
}
int main()
{
eprintf_s(" (%d:%d): Error %s%d : %s\n", 10, 23, "C", 2111,
"<some error text>");
eprintf_s(" (Related to symbol '%s' defined on line %d).\n",
"<symbol>", 5 );
}
.NET Framework-Entsprechung
Siehe auch
Referenz
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l