다음을 통해 공유


_vcprintf_p, _vcprintf_p_l, _vcwprintf_p, _vcwprintf_p_l

인수의 목록을 가리키는 포인터를 사용하여 콘솔에 형식이 지정된 출력을 쓰고, 형식 문자열에서 위치 매개 변수를 지원합니다.

중요

이 API는 Windows 런타임에서 실행되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /ZW에서 지원하지 않는 CRT 함수를 참조하십시오.

int _vcprintf_p(
   const char* format,
   va_list argptr
);
int _vcprintf_p_l(
   const char* format,
   locale_t locale,
   va_list argptr
);
int _vcwprintf_p(
   const wchar_t* format,
   va_list argptr
);
int _vcwprintf_p_l(
   const wchar_t* format,
   locale_t locale,
   va_list argptr
);

매개 변수

  • format
    형식 사양입니다.

  • argptr
    인수 목록에 대한 포인터입니다.

  • locale
    사용할 로캘입니다.

자세한 내용은 형식 사양 구문: printf 및 wprintf 함수을 참조하십시오.

반환 값

인쇄된 문자 수를 반환하거나 오류가 발생하면 음수 값을 반환합니다. format 이 null 포인터인 경우, 설명된 매개 변수 유효성 검사 대로 잘못된 매개 변수 처리기가 호출됩니다. 계속해서 실행하도록 허용된 경우, errno 는 EINVAL 와 -1을 반환합니다.

설명

이러한 함수 각각은 인수 목록을 가리키는 포인터를 취하고 주어진 데이터를 형식화하고 콘솔에 쓰기 위하여 _putch 함수를 사용합니다. _vcwprintf_p는 _putch 대신 _putwch을 사용합니다. _vcwprintf_p 는 _vcprintf_p 의 와이드 문자 버전입니다. 와이드 문자 문자열을 인수로 걸립니다.)

_l 접미사가 있는 이러한 함수 버전은 현재 스레드 로캘 대신 전달된 로캘 매개 변수를 사용하는 경우를 제외하고는 동일합니다.

각 argument(있는 경우)가 format의 해당 형식 사양에 따라 변환되어 출력됩니다. 형식 지정은 형식 문자열에서 사용되는 인수의 순서를 지정할 수 있도록 위치 매개 변수를 지원합니다. 자세한 내용은 printf_p 위치 매개 변수을 참조하십시오.

이러한 함수는 출력일 때 줄 바꿈 문자를 캐리지 리턴-줄 바꿈 (CR-LF) 조합으로 번역하지 않습니다.

보안 정보보안 정보

format이 사용자 정의 문자열이 아닌지 확인하십시오.자세한 내용은 버퍼 오버런 방지를 참조하십시오.

이러한 함수는 입력 포인터 및 형식 문자열의 유효성을 검사합니다. format 또는 argument 는 NULL일 경우, 매개 변수 유효성 검사 에서 형식 문자열에 잘못된 형식 문자는 이러한 함수에 설명 된대로 잘못된 매개 변수 처리기를 호출합니다. 계속해서 실행하도록 허용된 경우, 이러한 함수는 -1을 반환하고 errno를 EINVAL로 설정합니다.

제네릭 텍스트 라우팅 매핑

Tchar.h 루틴

_UNICODE 및 _MBCS 정의되지 않음

_MBCS 정의됨

_UNICODE 정의됨

_vtcprintf_p

_vcprintf_p

_vcprintf_p

_vcwprintf_p

_vtcprintf_p_l

_vcprintf_p_l

_vcprintf_p_l

_vcwprintf_p_l

요구 사항

루틴

필수 헤더

_vcprintf_p, _vcprintf_p_l

<conio.h> 및 <stdarg.h>

_vcwprintf_p, _vcwprintf_p_l

<conio.h> 및 <stdarg.h>

호환성에 대한 자세한 내용은 호환성을 참조하십시오.

예제

// crt_vcprintf_p.c
// compile with: /c
#include <conio.h>
#include <stdarg.h>

// An error formatting function that's used to print to the console.
int eprintf(const char* format, ...)
{
  va_list args;
  va_start(args, format);
  return _vcprintf_p(format, args);
}

int main()
{
   int n = eprintf("parameter 2 = %2$d; parameter 1 = %1$s\r\n",
      "one", 222);
   _cprintf_s("%d characters printed\r\n");
}
  

참고 항목

참조

콘솔 및 포트 I/O

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

va_arg, va_copy, va_end, va_start

printf_p 위치 매개 변수