다음을 통해 공유


_strdate_s, _wstrdate_s

현재 시스템 날짜를 버퍼에 복사합니다. 이러한 함수는 _strdate 버전, CRT 보안 기능에 설명된 것 처럼 보안 기능이 향상된 _wstrdate입니다.

구문

errno_t _strdate_s(
   char *buffer,
   size_t size
);
errno_t _wstrdate_s(
   wchar_t *buffer,
   size_t size
);
template <size_t size>
errno_t _strdate_s(
   char (&buffer)[size]
); // C++ only
template <size_t size>
errno_t _wstrdate_s(
   wchar_t (&buffer)[size]
); // C++ only

매개 변수

buffer
서식이 지정된 날짜 문자열을 넣을 버퍼에 대한 포인터입니다.

size
문자 단위의 버퍼 크기입니다.

반환 값

정상적으로 실행되는 경우 0입니다. 오류가 있는 경우 반환 값은 오류 코드입니다. 오류 코드는 ERRNO.H에 정의됩니다. 이 함수가 생성하는 정확한 오류는 아래 표를 참조하세요. 오류 코드에 대한 자세한 내용은 다음을 참조하세요 errno.

오류 조건

buffer size 반환 값 buffer의 내용
NULL (임의) EINVAL Not modified
NULL 아님(유효한 버퍼를 가리킴) 0 EINVAL Not modified
NULL 아님(유효한 버퍼를 가리킴) 0<size<9 EINVAL 빈 문자열
NULL 아님(유효한 버퍼를 가리킴) size>= 9 0 설명에 지정된 형식의 현재 날짜

보안 문제

NULL이 아닌 잘못된 값을 buffer전달하면 매개 변수가 9보다 크면 size 액세스 위반이 발생합니다.

버퍼 오버런에서 결과의 실제 크기 buffer 보다 큰 값을 size 전달합니다.

설명

이러한 함수는 _strdate_wstrdate의 더 안전한 버전을 제공합니다. 함수는 _strdate_s 현재 시스템 날짜를 가리키는 버퍼에 복사합니다 buffer. 형식이 지정됩니다 mm/dd/yy. 여기서 mm 두 자리 월 dd 은 두 자리 날짜이며 yy 연도의 마지막 두 자리입니다. 예를 들어 12/05/99 문자열은 1999년 12월 5일을 나타냅니다. 버퍼의 길이는 9자 이상이어야 합니다.

_wstrdate_s_strdate_s의 와이드 문자 버전이고, _wstrdate_s의 인수와 반환 값은 와이드 문자 문자열입니다. 그 외의 경우에는 이들 함수가 동일하게 작동합니다.

포인터이거나 NULL size 9자 미만인 경우 buffer 잘못된 매개 변수 처리기가 호출됩니다. 매개 변수 유효성 검사에 설명되어 있습니다. 실행을 계속할 수 있는 경우 이러한 함수는 -1을 반환합니다. 버퍼가 0보다 작거나 같은 경우 size 로 설정합니다 errno EINVAL.NULL 또는 9보다 작은 경우 size 로 설정합니다.errno ERANGE

C++에서 이러한 함수의 사용은 템플릿 오버로드에 의해 간소화됩니다. 오버로드는 버퍼 길이를 자동으로 유추할 수 있으므로 인수를 지정할 size 필요가 없습니다. 또한 보안이 아닌 함수를 보다 안전한 최신 함수로 자동으로 대체할 수 있습니다. 자세한 내용은 안전한 템플릿 오버로드를 참조하세요.

이러한 함수의 디버그 라이브러리 버전은 먼저 버퍼를 0xFE 채웁니다. 이 동작을 사용하지 않도록 설정하려면 .를 사용합니다 _CrtSetDebugFillThreshold.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

일반 텍스트 루틴 매핑:

TCHAR.H 루틴 _UNICODE_MBCS 정의되지 않음 정의된 _MBCS 정의된 _UNICODE
_tstrdate_s _strdate_s _strdate_s _wstrdate_s

요구 사항

루틴에서 반환된 값 필수 헤더
_strdate <time.h>
_wstrdate <time.h> 또는 <wchar.h>
_strdate_s <time.h>

예시

time에 대한 예를 참조하세요.

참고 항목

시간 관리
asctime_s, _wasctime_s
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s_wctime64_s
gmtime_s, , _gmtime32_s_gmtime64_s
localtime_s, , _localtime32_s_localtime64_s
mktime, , _mktime32_mktime64
time, , _time32_time64
_tzset