_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
서식을 지정하고 콘솔에 출력합니다. 이러한 버전의 _cprintf, _cprintf_l, _cwprintf, _cwprintf_l에는 CRT의 보안 기능에 설명된 대로 보안 향상 기능이 포함됩니다.
중요
이 API는 Windows 런타임에서 실행되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /ZW에서 지원하지 않는 CRT 함수를 참조하십시오.
int _cprintf_s(
const char * format [,
argument] ...
);
int _cprintf_s_l(
const char * format,
locale_t locale [,
argument] ...
);
int _cwprintf_s(
const wchar * format [,
argument] ...
);
int _cwprintf_s_l(
const wchar * format,
locale_t locale [,
argument] ...
);
매개 변수
format
형식 컨트롤 문자열입니다.argument
선택적 매개 변수입니다.locale
사용할 로캘입니다.
반환 값
출력된 문자의 수입니다.
설명
이러한 함수는 출력 문자에 대해 _putch 함수를 사용하여 (_putwch 에 대한 _cwprintf_s) 서식을 지정하고 일련의 문자와 값을 콘솔에 직접 출력합니다. 각 argument(있는 경우)가 format의 해당 형식 사양에 따라 변환되어 출력됩니다. 이 printf_s 함수에 대해 포맷은 format 매개 변수와 같은 양식과 함수를 가집니다. 이 fprintf_s, printf_s, 및 sprintf_s 와 다르게 _cprintf_s 또는 _cwprintf_s 는 출력시 line-feed 문자를 캐리지 return-line feed(CR-LF) 조합으로 변환하지 않습니다.
중요 한 차이점은 _cwprintf_s 가 Windows NT 사용되는 경우 유니코드 문자를 표시한다는 것입니다. 이 _cprintf_s와 달리, _cwprintf_s 는 현재 콘솔 로캘 설정을 사용합니다.
_l 접미사가 있는 이러한 함수 버전은 현재 로캘 대신 전달된 로캘 매개 변수를 사용하는 경우를 제외하고는 동일합니다.
보안 정보 |
---|
format이 사용자 정의 문자열이 아닌지 확인하십시오. |
보안이 없는 버전 같은( _cprintf, _cprintf_l, _cwprintf, _cwprintf_l참조), 이러한 함수는 매개 변수와 유효하고, format 가 null 포인터인 경우, 매개 변수 유효성 검사 으로 묘사된 잘못된 매개변수 처리기를 호출합니다. 형식 문자열 자체는 또한 유효성을 검사 한다는 점에서 안전하지 않은 버전의 이러한 함수입니다. 알 수 없거나 잘못된 형식의 형식 지정자를 이러한 함수는 잘못된 매개 변수 처리기를 호출합니다. 모든 종류에서, 계속해서 실행하도록 허용된 경우, 이 함수는 -1 를 반환하고 errno 를 EINVAL로 설정합니다.
제네릭 텍스트 라우팅 매핑
Tchar.h 루틴 |
_UNICODE 및 _MBCS 정의되지 않음 |
_MBCS 정의됨 |
_UNICODE 정의됨 |
---|---|---|---|
_tcprintf_s |
_cprintf_s |
_cprintf_s |
_cwprintf_s |
_tcprintf_s_l |
_cprintf_s_l |
_cprintf_s_l |
_cwprintf_s_l |
요구 사항
루틴 |
필수 헤더 |
---|---|
_cprintf_s,_cprintf_s_l |
<conio.h> |
_cwprintf_s, _cwprintf_s_l |
<conio.h> |
호환성 정보에 대한 자세한 내용은 호환성을 참조하십시오.
라이브러리
모든 버전의 C 런타임 라이브러리입니다.
예제
// crt_cprintf_s.c
// compile with: /c
// This program displays some variables to the console.
#include <conio.h>
int main( void )
{
int i = -16, h = 29;
unsigned u = 62511;
char c = 'A';
char s[] = "Test";
/* Note that console output does not translate \n as
* standard output does. Use \r\n instead.
*/
_cprintf_s( "%d %.4x %u %c %s\r\n", i, h, u, c, s );
}
Output
-16 001d 62511 A Test
참고 항목
참조
_cscanf, _cscanf_l, _cwscanf, _cwscanf_l
fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l
printf_s, _printf_s_l, wprintf_s, _wprintf_s_l
sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l