다음을 통해 공유


_strtime_s, _wstrtime_s

현재 시간을 버퍼에 복사 합니다.이러한 버전의 있습니다 _strtime, _wstrtime 와 보안 기능 향상에 설명 된 대로 CRT의 보안 기능.

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

매개 변수

  • [out] buffer
    시간 작성 된 버퍼 적어도 10 바이트 길이가 있습니다.

  • [in] numberOfElements
    버퍼의 크기입니다.

반환 값

성공 하는 경우에 0입니다.

오류 조건이 발생 한 경우 잘못 된 매개 변수 처리기를의 설명에 따라 호출 됩니다 매개 변수 유효성 검사.실패 하면 반환 값은 오류 코드입니다.ERRNO의 오류 코드를 정의 합니다.H. 이 함수에 의해 생성 되는 정확한 오류에 대 한 다음 표를 참조 하십시오.오류 코드에 대 한 자세한 내용은 errno 상수.

오류 조건

buffer

numberOfElements

Return

내용buffer

NULL

(모든)

EINVAL

수정 되지 않음

않은 NULL (잘못 버퍼를 가리키는)

0

EINVAL

수정 되지 않음

않은 NULL (잘못 버퍼를 가리키는)

0 < 크기 < 9

EINVAL

빈 문자열

않은 NULL (잘못 버퍼를 가리키는)

크기 > 9

0

설명에서 지정한 대로 서식이 현재 시간

보안 문제

경우 버퍼에 액세스 위반이 발생 합니다에 대 한 잘못 된 NULL이 아닌 값을 전달 하는 numberOfElements 매개 변수는 9 보다 큰 있습니다.

값을 전달 하는 numberOfElements 버퍼의 실제 크기에서 버퍼 오버런이 발생 합니다 이상입니다.

설명

이러한 함수를 더 안전한 버전을 제공 _strtime 및 _wstrtime._strtime_s 함수 포인터가 가리키는 버퍼에 현재 로컬 시간 복사 timestr*.* 시간으로 서식이 지정 된 hh:mm:ss 는 hh 24 시간 표기법으로 나타내는 두 자리 숫자입니다 mm 분 사이 나타내는 두 자리 숫자입니다 및 ss 시간 (초)을 나타내는 두 자리 숫자입니다.예를 들어, 18:23:44 나타내는 23 분 44 초 지 나 오후 6버퍼 길이 9 바이트 이상 이어야 합니다. 실제 크기는 두 번째 매개 변수로 지정 됩니다.

_wstrtime와이드 문자 버전입니다 _strtime. 인수와 반환 값을 _wstrtime 와이드 문자 문자열입니다.이러한 함수는 동일 하 게 그렇지 않으면 동작합니다.

C + +에서이 함수를 사용 하 여 템플릿 오버 로드에 단순화 됩니다. 오버 로드에서 버퍼 길이가 자동으로 유추할 수 있습니다 (size 인수를 지정할 필요가 없습니다) 및 해당 보안에서 이미지와 이전, 안전 하지 않은 함수가 자동으로 바꿀 수 있습니다.자세한 내용은 보안 템플릿 오버 로드를 참조하십시오.

일반 텍스트 루틴 매핑:

TCHAR입니다.H 루틴

_UNICODE 및 _Mbcs가 정의 되지 않았습니다.

_Mbcs가 정의

_Unicode가 정의

_tstrtime_s

_strtime_s

_strtime_s

_wstrtime_s

요구 사항

루틴

필수 헤더

_strtime_s

<time.h>

_wstrtime_s

<time.h> 또는 <wchar.h>

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// strtime_s.c

#include <time.h>
#include <stdio.h>

int main()
{
    char tmpbuf[9];
    errno_t err;

    // Set time zone from TZ environment variable. If TZ is not set,
    // the operating system is queried to obtain the default value 
    // for the variable. 
    //
    _tzset();

    // Display operating system-style date and time. 
    err = _strtime_s( tmpbuf, 9 );
    if (err)
    {
       printf("_strdate_s failed due to an invalid argument.");
      exit(1);
    }
    printf( "OS time:\t\t\t\t%s\n", tmpbuf );
    err = _strdate_s( tmpbuf, 9 );
    if (err)
    {
       printf("_strdate_s failed due to an invalid argument.");
       exit(1);
    }
    printf( "OS date:\t\t\t\t%s\n", tmpbuf );

}
  

해당 .NET Framework 항목

참고 항목

참조

시간 관리

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