다음을 통해 공유


vprintf 함수

각각의 vprintf 함수 인수 목록에 대한 포인터를 가진 다음 지정된 된 데이터를 특정 대상에 포맷하고 씁니다. 함수는 함수가 넓은 싱글 바이트 문자 스트링, 출력 목적지 및 파라미터 형식 문자열에 사용되는 순서를 지정하기위한 지원을 가지고 있는지 여부를 수행하는 파라미터 검증이 다릅니다.

_vcprintf, _vcwprintf

vfprintf, vfwprintf

_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l

vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

vprintf, vwprintf

_vprintf_p, _vprintf_p_l, _vwprintf_p, _vwprintf_p_l

vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l

vsprintf, vswprintf

_vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l

vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l

_vscprintf, _vscprintf_l, _vscwprintf, _vscwprintf_l

_vsnprintf, _vsnwprintf

설명

vprintf 함수는 다음 표에 나열 된 해당 대응 함수와 비슷합니다. 그러나 각 vprintf 함수는 다른 각 대응 함수가 인수 목록을 받는 반면 인수 목록을 포인터로 받습니다.

이러한 함수는 다음과 같이 출력 목적지로 데이터 서식을 지정합니다.

Function

대응 함수

출력 대상

매개 변수 유효성 검사

위치 매개 변수 지원

_vcprintf

_cprintf

콘솔

Null 있는지 확인 합니다.

no

_vcwprintf

_cwprintf

콘솔

Null 있는지 확인 합니다.

no

vfprintf

fprintf

스트림

Null 있는지 확인 합니다.

no

vfprintf_p

fprintf_p

스트림

Null 및 올바른 형식이 있는지 확인 합니다.

yes

vfprintf_s

fprintf_s

스트림

Null 및 올바른 형식이 있는지 확인 합니다.

no

vfwprintf

fwprintf

스트림

Null 있는지 확인 합니다.

no

vfwprintf_p

fwprintf_p

스트림

Null 및 올바른 형식이 있는지 확인 합니다.

yes

vfwprintf_s

fwprintf_s

스트림

Null 및 올바른 형식이 있는지 확인 합니다.

no

vprintf

printf

Stdout

Null 있는지 확인 합니다.

no

vprintf_p

printf_p

Stdout

Null 및 올바른 형식이 있는지 확인 합니다.

yes

vprintf_s

printf_s

Stdout

Null 및 올바른 형식이 있는지 확인 합니다.

no

vwprintf

wprintf

Stdout

Null 있는지 확인 합니다.

no

vwprintf_p

wprintf_p

Stdout

Null 및 올바른 형식이 있는지 확인 합니다.

yes

vwprintf_s

wprintf_s

Stdout

Null 및 올바른 형식이 있는지 확인 합니다.

no

vsprintf

sprintf

버퍼 가 가르키는 메모리

Null 있는지 확인 합니다.

no

vsprintf_p

sprintf_p

버퍼 가 가르키는 메모리

Null 및 올바른 형식이 있는지 확인 합니다.

yes

vsprintf_s

sprintf_s

버퍼 가 가르키는 메모리

Null 및 올바른 형식이 있는지 확인 합니다.

no

vswprintf

swprintf

버퍼 가 가르키는 메모리

Null 있는지 확인 합니다.

no

vswprintf_p

swprintf_p

버퍼 가 가르키는 메모리

Null 및 올바른 형식이 있는지 확인 합니다.

yes

vswprintf_s

swprintf_s

버퍼 가 가르키는 메모리

Null 및 올바른 형식이 있는지 확인 합니다.

no

_vscprintf

_vscprintf

버퍼 가 가르키는 메모리

Null 있는지 확인 합니다.

no

_vscwprintf

_vscwprintf

버퍼 가 가르키는 메모리

Null 있는지 확인 합니다.

no

_vsnprintf

_snprintf

버퍼 가 가르키는 메모리

Null 있는지 확인 합니다.

no

_vsnwprintf

_snwprintf

버퍼 가 가르키는 메모리

Null 있는지 확인 합니다.

no

argptr 인수는 VARARGS.H and STDARG.H 에 정의된 va_list 형식을 가집니다. argptr 변수는 va_start, 에 의해 초기화 되어야 하고, va_arg 호출로 다시 초기화 될 수 있습니다. 그러면 argptr 는 양식 인수에 해당하는 지시에 따라 변환하고 출력을 전송하는 인수 목록의 시작부분을 가르킵니다. 형식printf 에 대해 형식 인수와 같은 함수와 형식을 가집니다. va_end 을 호출하는 함수 없음 각 vprintf 함수에 대한 자세한 설명은 위의 표에 나열 된 함수의 설명을 참조 하십시오.

_vsnprintfbuffercount 바이트를 더 이상 쓰지 않는 다는 점에서 vsprintf 와 다릅니다.

이름에서 w 삽입사를 사용하는 이러한 함수의 버전은 w 삽입사가 없는 대응 함수의 와이드 문자 버전입니다. 이러한 와이드 문자 함수의 각각에서 buffer양식 은 와이드 문자 문자열입니다. 그렇지 않으면 각 와이드 문자 함수는 해당 SBCS 대응 기능을 동일 하게 동작합니다.

_s_p 접미사를 사용하는 이러한 함수의 버전은 더 안전한 버전입니다. 이러한 버전은 형식 문자열의 유효성을 검사 하고 형식 문자열 형식이 잘못 된 경우(예를 들어 잘못 된 서식 문자를 사용하는) 예외가 발생 합니다.

_p 접미사를 사용하는 이러한 함수의 버전은 형식 문자열에 제공된 인수 대신 순서를 지정할 수 있는 기능을 제공 합니다. 자세한 내용은 printf_p 위치 매개 변수을 참조하십시오.

vsprintf, vswprintf, _vsnprintf_vsnwprintf 에 대해 중복 되는 문자열 간에 복사가 이루어지면, 이 동작은 정의되지 않습니다.

보안 정보보안 정보

형식 이 사용자 정의 문자열이 아닌지 확인하십시오.자세한 내용은 버퍼 오버런 방지를 참조하십시오.이러한 함수의 보안 버전을 사용 하는 경우 (_s 또는 _p 접미사도 마찬가지로), 사용자 제공 문자열에 잘못 된 문자가 포함 되어 있는 경우 사용자 지정 형식 문자열을 매개 변수에 잘못 된 예외를 트리거할 수 있습니다.

참고 항목

참조

스트림 I/O

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