vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l
인수 목록에 대한 포인터를 사용 하 여 형식이 지정 된 출력을 작성 합니다.이러한 버전의 수 vprintf, _vprintf_l, vwprintf, _vwprintf_l 에 설명 된 대로 보안 향상 기능을 CRT의 보안 기능.
int vprintf_s(
const char *format,
va_list argptr
);
int _vprintf_s_l(
const char *format,
locale_t locale,
va_list argptr
);
int vwprintf_s(
const wchar_t *format,
va_list argptr
);
int _vwprintf_s_l(
const wchar_t *format,
locale_t locale,
va_list argptr
);
매개 변수
format
형식 사양입니다.argptr
인수 목록에 대한 포인터입니다.locale
사용 하는 로캘.
자세한 내용은 형식 사양을.
반환 값
vprintf_s및 vwprintf_s 출력 오류가 발생 하는 경우 음수 값 또는 null 종결 문자를 제외한 쓴 문자 수를 반환 합니다.경우 format 는 null 포인터 또는 형식 문자열 서식 잘못 된 문자가 포함 된 경우 잘못 된 매개 변수 처리기를의 설명에 따라 호출 됩니다 매개 변수 유효성 검사.함수 실행을 계속 허용 되 면-1을 반환 하 고 설정 errno 에 EINVAL.
이러한 문제 및 기타 오류 코드에 대한 내용은 _sys_nerr, _doserrno, errno, _sys_errlist,.
설명
이러한 각 함수는 인수 목록에 대한 포인터를 사용 하 고 서식을 지정 하 고 지정 된 데이터를 씁니다 stdout.
이러한 함수의 보안 버전이 다 vprintf 및 vwprintf 만 안전한 버전 형식 문자열이 유효한 형식 문자가 포함 되어 있는지를 확인 하는.
vwprintf_s와이드 문자 버전인 vprintf_s. ANSI 모드에서 스트림이 열려 있는 경우 두 함수를 동일 하 게 동작 합니다.vprintf_s현재 출력 스트림으로 유니코드를 지원 하지 않습니다.
이러한 함수 버전을 _l 접미사는 전달 하지 않고 현재 스레드 로캘은 로캘 매개 변수를 사용 하는 것을 제외 하 고 동일 합니다.
보안 정보 |
---|
되도록 format 사용자 정의 하는 문자열이 아닙니다.자세한 내용은 버퍼 오버런 방지. |
일반 텍스트 루틴 매핑
TCHAR입니다.H 루틴 |
_UNICODE 및 _Mbcs가 정의 되어 있지 않습니다 |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_vtprintf_s |
vprintf_s |
vprintf_s |
vwprintf_s |
_vtprintf_s_l |
_vprintf_s_l |
_vprintf_s_l |
_vwprintf_s_l |
요구 사항
루틴 |
필수 헤더 |
선택적 헤더 |
---|---|---|
vprintf_s, _vprintf_s_l |
<stdio.h> 및 <stdarg.h> |
<varargs.h> * |
vwprintf_s, _vwprintf_s_l |
<stdio.h> 또는 <wchar.h> 및 <stdarg.h> |
<varargs.h> * |
* UNIX V 호환성을 위해 필요합니다.
콘솔에서 지원 되지 않습니다 Windows 스토어 응용 프로그램입니다.콘솔에 연결 된 표준 스트림 핸들 stdin, stdout, 및 stderr, C 런타임 함수를 사용 하기 전에 이동 해야 Windows 스토어 응용 프로그램입니다.추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
해당 .NET Framework 항목
참고 항목
참조
않는다면, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l