Freigeben über


_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.

SicherheitshinweisSicherheitshinweis

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

System::Console::Write

Siehe auch

Referenz

Stream-E/A

vprintf-Funktionen

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

va_arg, va_copy, va_end, va_start