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
_vscprintf
, _vscprintf_l
, _vscwprintf
_vscwprintf_l
_vsnprintf
, , _vsnwprintf
vsprintf
vswprintf
_vsprintf_p
, _vsprintf_p_l
, _vswprintf_p
_vswprintf_p_l
vsprintf_s
, _vsprintf_s_l
, vswprintf_s
_vswprintf_s_l
설명
vprintf
함수는 다음 표에 나열된 상대 함수와 비슷합니다. 그러나 각 vprintf
함수는 인수 목록에 대한 포인터를 수락하지만 각 상대 함수는 인수 목록을 수락합니다.
이러한 함수는 대상 출력에 대한 데이터 서식을 다음과 같이 지정합니다.
함수 | 상대 함수 | 출력 대상 | 매개 변수 유효성 검사 | 위치 매개 변수 지원 |
---|---|---|---|---|
_vcprintf |
_cprintf |
console | Null인지 확인합니다. | 아니요 |
_vcwprintf |
_cwprintf |
console | Null인지 확인합니다. | 아니요 |
vfprintf |
fprintf |
stream |
Null인지 확인합니다. | 아니요 |
vfprintf_p |
fprintf_p |
stream |
Null 및 유효한 형식인지 확인합니다. | 예 |
vfprintf_s |
fprintf_s |
stream |
Null 및 유효한 형식인지 확인합니다. | 아니요 |
vfwprintf |
fwprintf |
stream |
Null인지 확인합니다. | 아니요 |
vfwprintf_p |
fwprintf_p |
stream |
Null 및 유효한 형식인지 확인합니다. | 예 |
vfwprintf_s |
fwprintf_s |
stream |
Null 및 유효한 형식인지 확인합니다. | 아니요 |
vprintf |
printf |
stdout |
Null인지 확인합니다. | 아니요 |
vprintf_p |
printf_p |
stdout |
Null 및 유효한 형식인지 확인합니다. | 예 |
vprintf_s |
printf_s |
stdout |
Null 및 유효한 형식인지 확인합니다. | 아니요 |
vwprintf |
wprintf |
stdout |
Null인지 확인합니다. | 아니요 |
vwprintf_p |
wprintf_p |
stdout |
Null 및 유효한 형식인지 확인합니다. | 예 |
vwprintf_s |
wprintf_s |
stdout |
Null 및 유효한 형식인지 확인합니다. | 아니요 |
vsprintf |
sprintf |
다음을 가리키는 메모리 buffer |
Null인지 확인합니다. | 아니요 |
vsprintf_p |
sprintf_p |
다음을 가리키는 메모리 buffer |
Null 및 유효한 형식인지 확인합니다. | 예 |
vsprintf_s |
sprintf_s |
다음을 가리키는 메모리 buffer |
Null 및 유효한 형식인지 확인합니다. | 아니요 |
vswprintf |
swprintf |
다음을 가리키는 메모리 buffer |
Null인지 확인합니다. | 아니요 |
vswprintf_p |
swprintf_p |
다음을 가리키는 메모리 buffer |
Null 및 유효한 형식인지 확인합니다. | 예 |
vswprintf_s |
swprintf_s |
다음을 가리키는 메모리 buffer |
Null 및 유효한 형식인지 확인합니다. | 아니요 |
_vscprintf |
_vscprintf |
다음을 가리키는 메모리 buffer |
Null인지 확인합니다. | 아니요 |
_vscwprintf |
_vscwprintf |
다음을 가리키는 메모리 buffer |
Null인지 확인합니다. | 아니요 |
_vsnprintf |
_snprintf |
다음을 가리키는 메모리 buffer |
Null인지 확인합니다. | 아니요 |
_vsnwprintf |
_snwprintf |
다음을 가리키는 메모리 buffer |
Null인지 확인합니다. | 아니요 |
argptr
인수 형식은 VARARGS.H 및 STDARG.H에 정의된 va_list
입니다. 변수는 argptr
va_start 의해 초기화되어야 하며 후속 va_arg
호출 argptr
에 의해 다시 초기화될 수 있습니다. 그런 다음 인수의 해당 사양 format
에 따라 출력을 위해 변환 및 전송되는 인수 목록의 시작을 가리킵니다. format
에 대한 인수와 같은 형식과 함수가 format
있습니다 printf
. 이러한 함수 중 어느 것도 호출하지 않습니다 va_end
. 각 vprintf
함수에 대한 자세한 설명을 보려면 앞의 표에 나열된 상대 함수에 대한 설명을 참조하세요.
_vsnprintf
은 vsprintf
바이트 buffer
이하 count
를 씁니다.
이름에 w 접두사를 사용하는 이러한 함수의 버전은 w 접두사 없이 해당 함수의 와이드 문자 버전이며format
, buffer
이러한 각 와이드 문자 함수에서 와이드 문자 문자열입니다. 그렇지 않은 경우 각 와이드 문자 함수는 해당 SBCS 상대 함수와 동일하게 동작합니다.
이러한 함수와 _p
접미사가 있는 _s
버전은 더 안전한 버전입니다. 이러한 버전은 형식 문자열의 유효성을 검사합니다. 형식 문자열이 잘 구성되지 않은 경우(예: 잘못된 서식 문자를 사용하는 경우) 예외를 생성합니다.
접미사가 있는 _p
이러한 함수의 버전을 사용하면 제공된 인수가 형식 문자열로 대체되는 순서를 지정할 수 있습니다. 자세한 내용은 printf_p 위치 매개 변수를 참조하세요.
에 대해 vsprintf
, _vsnprintf
vswprintf
및 _vsnwprintf
겹치는 문자열 간에 복사가 발생하면 동작이 정의되지 않습니다.
Important
format
이 사용자 정의 문자열이 아닌지 확인하십시오. 자세한 내용은 버퍼 오버런 방지를 참조하세요. 이러한 함수의 보안 버전( _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