Udostępnij za pośrednictwem


_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l

Napisz sformatowane dane wyjściowe do konsoli za pomocą wskaźnika do listy argumentów.Są to wersje _vcprintf, _vcprintf_l, _vcwprintf, _vcwprintf_l z ulepszeń zabezpieczeń, zgodnie z opisem w Funkcje zabezpieczeń w CRT.

Ważna uwagaWażne

Ten interfejs API nie można używać w aplikacji, których wykonywanie w czasie wykonywania systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /ZW.

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
);

Parametry

  • format
    Specyfikacja formatu.

  • argptr
    Wskaźnik do listy argumentów.

  • locale
    Ustawienia regionalne używane.

Aby uzyskać więcej informacji, zobacz Specyfikacji formatu.

Wartość zwracana

Niektóre znaki pisane, lub wartość ujemną, jeśli wystąpi błąd danych wyjściowych.

Tak jak w wersji tych funkcji, które nie są bezpieczne, jeśli format jest pusty wskaźnik, program obsługi nieprawidłowy parametr jest wywoływana, zgodnie z opisem w Sprawdzanie poprawności parametru.Dodatkowo, w przeciwieństwie do wersji nie są bezpieczne z tych funkcji Jeśli format nie określa prawidłowego formatu, generowany jest wyjątek nieprawidłowy parametr.Jeśli wykonanie może kontynuować, funkcje te zwracają

Uwagi

Każda z tych funkcji ma wskaźnik do listy argumentów, a następnie formatuje i zapisuje dane podawane do konsoli._vcwprintf_sjest to wersja szerokich znaków _vcprintf_s.Trwa łańcuch szerokich znaków jako argument.

Wersje te funkcje za pomocą _l sufiks są identyczne z tym, że używają parametru ustawień regionalnych, przekazany zamiast bieżących ustawień regionalnych.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Zapewnienia, że format nie jest ciągiem zdefiniowane przez użytkownika.Aby uzyskać więcej informacji, zobacz Unikanie przekroczeniem buforu.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rozpoczęto wykonywanie procedury h

_UNICODE & _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_vtcprintf_s

_vcprintf_s

_vcprintf_s

_vcwprintf_s

_vtcprintf_s_l

_vcprintf_s_l

_vcprintf_s_l

_vcwprintf_s_l

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

Nagłówki opcjonalne

_vcprintf_s, _vcprintf_s_l

<conio.h> i <stdarg.h>

<varargs.h> *

_vcwprintf_s, _vcwprintf_s_l

<conio.h> lub <wchar.h> i <stdarg.h>

<varargs.h> *

* Wymagana w przypadku zgodności V systemu UNIX.

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// 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 );
}
  

Odpowiednik w programie .NET Framework

System::Console::Write

Zobacz też

Informacje

Strumień we/wy

Funkcje vprintf

_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_end, va_start