다음을 통해 공유


ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

시간 값을 문자열로 변환 하고 현지 표준 시간대 설정을 조정 합니다. CRT의 보안 기능 에 설명된 대로 보안기능이 향상된 ctime, _ctime64, _wctime, _wctime64 의 버전입니다.

errno_t ctime_s( 
   char* buffer,
   size_t numberOfElements,
   const time_t *time 
);
errno_t _ctime32_s( 
   char* buffer,
   size_t numberOfElements,
   const __time32_t *time 
);
errno_t _ctime64_s( 
   char* buffer,
   size_t numberOfElements,
   const __time64_t *time )
;
errno_t _wctime_s( 
   wchar_t* buffer,
   size_t numberOfElements,
   const time_t *time 
);
errno_t _wctime32_s( 
   wchar_t* buffer,
   size_t numberOfElements,
   const __time32_t *time 
);
errno_t _wctime64_s( 
   wchar_t* buffer,
   size_t numberOfElements,
   const __time64_t *time 
);
template <size_t size>
errno_t _ctime32_s( 
   char (&buffer)[size],
   const __time32_t *time 
); // C++ only
template <size_t size>
errno_t _ctime64_s( 
   char (&buffer)[size],
   const __time64_t *time
); // C++ only
template <size_t size>
errno_t _wctime32_s( 
   wchar_t (&buffer)[size],
   const __time32_t *time 
); // C++ only
template <size_t size>
errno_t _wctime64_s( 
   wchar_t (&buffer)[size],
   const __time64_t *time 
); // C++ only

매개 변수

  • [out] buffer
    26 개의 문자를 저장 하기에 충분 해야 합니다. 문자 문자열 결과에 대한 포인터 또는 NULL 경우:

    • time 는 UTC 1970 년 1 월 1 일 자정 이전 날짜를 나타냅니다.

    • _ctime32_s 또는 _wctime32_s 을 사용하고 time 가 2038년 1월 19일 03시 04분 07초 이후를 나타내는 경우

    • _ctime64_s 또는 _wctime64_s 을 사용하고 time 가 UTC 3000년 12월 31일 23시 59분 59초 이후를 나타내는 경우

    • _ctime_s 또는 _wctime_s 을 사용하는 경우, 이러한 함수는 이전 함수를 래퍼합니다. 설명 부분을 참조하십시오.

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

  • [in] time
    저장 된 시간에 대한 포인터입니다.

반환 값

성공시 0입니다. 매개 변수 유효성 검사에 설명된 대로, 잘못된 매개 변수 때문에 실패한 경우, 잘못된 매개 변수 처리기가 호출됩니다. 실행을 계속 하도록 허용된 경우, 에러 코드가 반환됩니다. 오류 코드는 ERRNO.H에서 정의 됩니다. 이러한 오류 목록은 errno 를 참조하십시오. 각 오류 조건에 대해 throw 되는 실제 오류 코드는 다음 표에 나와 있습니다.

오류 조건

buffer

numberOfElements

time

반환

buffer 의 값입니다.

NULL

any

any

EINVAL

수정되지 않음

NULL값이 아님(유효한 메모리를 가리킴)

0

any

EINVAL

수정되지 않음

NULL이 아닙니다.

0< size < 26

any

EINVAL

빈 문자열

NULL이 아닙니다.

>= 26

NULL

EINVAL

빈 문자열

NULL이 아닙니다.

>= 26

< 0

EINVAL

빈 문자열

설명

ctime_s 함수는 문자 문자열로 time_t 에 저장된 시간 구조체를 변환합니다. time 값은 time, 1970 년 1 월 1 일 자정(00:00)부터 경과 된 초 인 협정 세계시 (UTC)를 반환하는, time 를 호출하여 가져옵니다. 반환 값 문자열은 정확히 26 문자 포함 되고 폼을 가집니다.:

Wed Jan 02 02:03:55 1980\n\0

24 시간제를 사용 합니다. 모든 필드 너비가 일정합니다. 줄 바꿈 문자('\n') 및 null 문자('\0')가 문자열의 마지막 두 자리를 차지 합니다.

변환 된 문자열은 현지 표준 시간대 설정에 따라 조정할 수 있습니다. 현지 시간 구성에 대한 자세한 정보는 time, _ftime, 및 localtime32_s 을 참조하십시오. 시간 영역 환경과 전역 변수 정의에 대한 자세한 정보는 _tzset 을 참조하십시오.

_wctime32_s 및 _wctime64_s 는 와이드 문자 문자열에 대한 포인터를 반환하는 _ctime32_s 및 _ctime64_s 의 와이드 문자 버전입니다. 그렇지 않으면 _ctime64_s, _wctime32_s, 및 _wctime64_s 은 _ctime32_s 와 동일하게 작동합니다.

ctime_s는 _ctime64_s로 계산되는 인라인 함수이고 time_t은 __time64_t과 동일합니다. 컴파일러가 time_t를 예전 32비트 time_t로서 번역하도록 할 필요가 있을 때에는, _USE_32BIT_TIME_T을 정의할 수 있습니다. 이것을 하는 것은 _ctime32_s를 계산하기 위해 ctime_s를 호출합니다. 2038 년 1 월 18 일 후 응용 프로그램이 실패할 수 있으며 64 비트 플랫폼에서 사용할 수 없기 때문에 권장 되지 않습니다.

C++에서는 이러한 함수를 사용하는 것은 템플릿 오버로드에 의해 단순화됩니다; 오버로드는 자동으로 버퍼의 길이를 추정할수 있고, 크기 인수를 지정할 필요를 없앱니다. 자세한 내용은 안전한 템플릿 오버로드을 참조하십시오.

제네릭 텍스트 라우팅 매핑

TCHAR.H 루틴

_UNICODE 및 _MBCS 정의되지 않음

_MBCS 정의됨

_UNICODE 정의됨

_tctime_s

ctime_s

ctime_s

_wctime_s

_tctime32_s

_ctime32_s

_ctime32_s

_wctime32_s

_tctime64_s

_ctime64_s

_ctime64_s

_wctime64_s

요구 사항

루틴

필수 헤더

ctime_s,

_ctime32_s,

_ctime64_s

<time.h>

_wctime_s,

_wctime32_s,

_wctime64_s

<time.h> or <wchar.h>

호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.

라이브러리

모든 버전의 C 런타임 라이브러리입니다.

예제

// crt_wctime_s.c
/* This program gets the current
 * time in time_t form and then uses _wctime_s to
 * display the time in string form.
 */

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

#define SIZE 26

int main( void )
{
   time_t ltime;
   wchar_t buf[SIZE];
   errno_t err;

   time( &ltime );

  
   err = _wctime_s( buf, SIZE, &ltime );
   if (err != 0)
   {
      printf("Invalid Arguments for _wctime_s. Error Code: %d\n", err);
   }
   wprintf_s( L"The time is %s\n", buf );
}

샘플 출력

The time is Fri Apr 25 13:03:39 2003

해당 .NET Framework 항목

참고 항목

참조

시간 관리

asctime_s, _wasctime_s

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime_s, _gmtime32_s, _gmtime64_s

localtime_s, _localtime32_s, _localtime64_s

time, _time32, _time64