vprintf 함수
각각의 vprintf 함수 인수 목록에 대한 포인터를 가진 다음 지정된 된 데이터를 특정 대상에 포맷하고 씁니다. 함수는 함수가 넓은 싱글 바이트 문자 스트링, 출력 목적지 및 파라미터 형식 문자열에 사용되는 순서를 지정하기위한 지원을 가지고 있는지 여부를 수행하는 파라미터 검증이 다릅니다.
설명
vprintf 함수는 다음 표에 나열 된 해당 대응 함수와 비슷합니다. 그러나 각 vprintf 함수는 다른 각 대응 함수가 인수 목록을 받는 반면 인수 목록을 포인터로 받습니다.
이러한 함수는 다음과 같이 출력 목적지로 데이터 서식을 지정합니다.
Function |
대응 함수 |
출력 대상 |
매개 변수 유효성 검사 |
위치 매개 변수 지원 |
---|---|---|---|---|
_vcprintf |
콘솔 |
Null 있는지 확인 합니다. |
no |
|
_vcwprintf |
콘솔 |
Null 있는지 확인 합니다. |
no |
|
vfprintf |
스트림 |
Null 있는지 확인 합니다. |
no |
|
vfprintf_p |
스트림 |
Null 및 올바른 형식이 있는지 확인 합니다. |
yes |
|
vfprintf_s |
스트림 |
Null 및 올바른 형식이 있는지 확인 합니다. |
no |
|
vfwprintf |
스트림 |
Null 있는지 확인 합니다. |
no |
|
vfwprintf_p |
스트림 |
Null 및 올바른 형식이 있는지 확인 합니다. |
yes |
|
vfwprintf_s |
스트림 |
Null 및 올바른 형식이 있는지 확인 합니다. |
no |
|
vprintf |
Stdout |
Null 있는지 확인 합니다. |
no |
|
vprintf_p |
Stdout |
Null 및 올바른 형식이 있는지 확인 합니다. |
yes |
|
vprintf_s |
Stdout |
Null 및 올바른 형식이 있는지 확인 합니다. |
no |
|
vwprintf |
Stdout |
Null 있는지 확인 합니다. |
no |
|
vwprintf_p |
Stdout |
Null 및 올바른 형식이 있는지 확인 합니다. |
yes |
|
vwprintf_s |
Stdout |
Null 및 올바른 형식이 있는지 확인 합니다. |
no |
|
vsprintf |
버퍼 가 가르키는 메모리 |
Null 있는지 확인 합니다. |
no |
|
vsprintf_p |
버퍼 가 가르키는 메모리 |
Null 및 올바른 형식이 있는지 확인 합니다. |
yes |
|
vsprintf_s |
버퍼 가 가르키는 메모리 |
Null 및 올바른 형식이 있는지 확인 합니다. |
no |
|
vswprintf |
버퍼 가 가르키는 메모리 |
Null 있는지 확인 합니다. |
no |
|
vswprintf_p |
버퍼 가 가르키는 메모리 |
Null 및 올바른 형식이 있는지 확인 합니다. |
yes |
|
vswprintf_s |
버퍼 가 가르키는 메모리 |
Null 및 올바른 형식이 있는지 확인 합니다. |
no |
|
_vscprintf |
버퍼 가 가르키는 메모리 |
Null 있는지 확인 합니다. |
no |
|
_vscwprintf |
버퍼 가 가르키는 메모리 |
Null 있는지 확인 합니다. |
no |
|
_vsnprintf |
버퍼 가 가르키는 메모리 |
Null 있는지 확인 합니다. |
no |
|
_vsnwprintf |
버퍼 가 가르키는 메모리 |
Null 있는지 확인 합니다. |
no |
argptr 인수는 VARARGS.H and STDARG.H 에 정의된 va_list 형식을 가집니다. argptr 변수는 va_start, 에 의해 초기화 되어야 하고, va_arg 호출로 다시 초기화 될 수 있습니다. 그러면 argptr 는 양식 인수에 해당하는 지시에 따라 변환하고 출력을 전송하는 인수 목록의 시작부분을 가르킵니다. 형식 은 printf 에 대해 형식 인수와 같은 함수와 형식을 가집니다. va_end 을 호출하는 함수 없음 각 vprintf 함수에 대한 자세한 설명은 위의 표에 나열 된 함수의 설명을 참조 하십시오.
_vsnprintf 는 buffer 에 count 바이트를 더 이상 쓰지 않는 다는 점에서 vsprintf 와 다릅니다.
이름에서 w 삽입사를 사용하는 이러한 함수의 버전은 w 삽입사가 없는 대응 함수의 와이드 문자 버전입니다. 이러한 와이드 문자 함수의 각각에서 buffer 및 양식 은 와이드 문자 문자열입니다. 그렇지 않으면 각 와이드 문자 함수는 해당 SBCS 대응 기능을 동일 하게 동작합니다.
_s 및 _p 접미사를 사용하는 이러한 함수의 버전은 더 안전한 버전입니다. 이러한 버전은 형식 문자열의 유효성을 검사 하고 형식 문자열 형식이 잘못 된 경우(예를 들어 잘못 된 서식 문자를 사용하는) 예외가 발생 합니다.
_p 접미사를 사용하는 이러한 함수의 버전은 형식 문자열에 제공된 인수 대신 순서를 지정할 수 있는 기능을 제공 합니다. 자세한 내용은 printf_p 위치 매개 변수을 참조하십시오.
vsprintf, vswprintf, _vsnprintf 및 _vsnwprintf 에 대해 중복 되는 문자열 간에 복사가 이루어지면, 이 동작은 정의되지 않습니다.
보안 정보 |
---|
형식 이 사용자 정의 문자열이 아닌지 확인하십시오.자세한 내용은 버퍼 오버런 방지를 참조하십시오.이러한 함수의 보안 버전을 사용 하는 경우 (_s 또는 _p 접미사도 마찬가지로), 사용자 제공 문자열에 잘못 된 문자가 포함 되어 있는 경우 사용자 지정 형식 문자열을 매개 변수에 잘못 된 예외를 트리거할 수 있습니다. |
참고 항목
참조
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l