다음을 통해 공유


asctime_s, _wasctime_s

변환 된 tm 시간 구조에 문자열입니다.이러한 함수 버전입니다 asctime, _wasctime 와 보안 기능 향상에 설명 된 대로 CRT의 보안 기능.

errno_t asctime_s( 
   char* buffer,
   size_t numberOfElements,
   const struct tm *_tm 
);
errno_t _wasctime_s( 
   wchar_t* buffer,
   size_t numberOfElements
   const struct tm *_tm 
);
template <size_t size>
errno_t asctime_s( 
   char (&buffer)[size],
   const struct tm *_tm 
); // C++ only
template <size_t size>
errno_t _wasctime_s( 
   wchar_t (&buffer)[size],
   const struct tm *_tm 
); // C++ only

매개 변수

  • buffer
    [out] 문자 문자열 결과 저장 하는 버퍼에 대 한 포인터입니다.올바른 메모리 위치에 대 한 포인터 지정 된 크기가이 함수를 가정 합니다. numberOfElements.

  • numberOfElements
    [in] 결과 저장 하는 데 사용 되는 버퍼의 크기입니다.

  • _tm
    [in] 구조를 날짜/시간입니다.이 함수에 대 한 포인터를 잘못 가정 합니다. structtm 개체입니다.

반환 값

성공 하는 경우에 0입니다.오류가 있으면 잘못 된 매개 변수 처리기를의 설명에 따라 호출 됩니다 매개 변수 유효성 검사.실행을 계속 수 있으면 반환 값은 오류 코드입니다.ERRNO의 오류 코드를 정의 합니다.H.자세한 내용은 errno 상수를 참조하십시오.각 오류 조건에 대해 반환 되는 실제 오류 코드는 다음 표에 나와 있습니다.

오류 조건

buffer

numberOfElements

tm

Return

값buffer

NULL

임의

임의

EINVAL

수정 되지 않음

않은NULL (올바른 메모리를 가리키는)

0

임의

EINVAL

수정 되지 않음

없습니다NULL

0 < 크기 < 26

임의

EINVAL

빈 문자열

없습니다NULL

> = 26

NULL

EINVAL

빈 문자열

없습니다NULL

> = 26

잘못 된 시간 구조 나의 시간 구성 요소에 대 한 값 범위 부족

EINVAL

빈 문자열

[!참고]

오류 조건에 대 한 wasctime_s 와 비슷한 asctime_s 을 제외한 크기 제한에서 측정 됩니다.

설명

asctime 함수 구조를 문자열에 저장 된 시간을 변환 합니다._tm 값에 대 한 호출에서 얻은입니다 일반적으로 gmtime 또는 localtime.두 함수 모두 채우는 데 사용할 수는 tm 시간에 정의 된 구조체입니다.H.

timeptr 멤버

tm_hour

시간 (는 0-23)

tm_isdst

일광 절약 시간이 적용 되는 경우 양수입니다. 일광 절약 시간제가 적용 되지 않는 경우 0입니다. 일광 절약 시간 상태를 알 수 없는 경우 음수입니다.C 런타임 라이브러리 일광 절약 시간제 (DST)의 계산을 구현에 대 한 대한민국의 규칙을 가정 합니다.

tm_mday

월 (1)의

tm_min

분 (0-59입니다)

tm_mon

달 (0–11; 0 = 1 월)

tm_sec

초 (0-59입니다) 1 분 후

tm_wday

요일 (0–6; 0 = 일요일)

tm_yday

일 연도 (0–365; 1 월 1 일 = 0)

tm_year

(현재 연도 1900 뺀) 년

변환 된 문자열은 현지 표준 시간대 설정에 따라 수도 조정 됩니다.참조는 time, _time32, _time64, _ftime, _ftime32, _ftime64, 및 localtime_s, _localtime32_s, _localtime64_s 함수는 현지 시간을 구성 하는 방법에 대 한 정보를 하는 _tzset 함수에 대 한 표준 시간대 환경 및 전역 변수를 정의 하는 방법에 대 한 정보입니다.

생성 되는 문자열 결과 asctime_s 정확히 26 자 고 폼 Wed Jan 02 02:03:55 1980\n\0.24 시간 형식을 사용 합니다.하면 모든 필드에 있습니다.줄 바꿈 문자 및 null 문자가 문자열의 마지막 두 개의 위치를 차지합니다.두 번째 매개 변수로 전달 된 값 이상의 크기를 표시 해야 합니다.오류 코드 이하의 경우 EINVAL, 반환 됩니다.

_wasctime_s와이드 문자 버전입니다 asctime_s._wasctime_sasctime_s 그렇지을 동일 하 게 작동 합니다.

일반 텍스트 루틴 매핑

TCHAR입니다.H 루틴

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

_Mbcs가 정의

_Unicode가 정의

_tasctime_s

asctime_s

asctime_s

_wasctime_s

C + +에서이 함수를 사용 하 여 템플릿 오버 로드에 단순화 됩니다. 오버 버퍼 길이 size 인수를 지정 하지 않아도 자동으로 유추할 수 있습니다.자세한 내용은 보안 템플릿 오버 로드를 참조하십시오.

요구 사항

루틴

필수 헤더

asctime_s

<time.h>

_wasctime_s

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

보안

버퍼 포인터가 없는 경우 NULL 및 올바른 버퍼에 포인터, 어떤 위치에 있는 함수를 덮어쓰게 됩니다.이 액세스 위반에도 발생할 수 있습니다.

A 버퍼 오버런 size 인수에 전달 된 버퍼의 실제 크기 보다 클 경우 발생할 수 있습니다.

예제

이 프로그램은 정수 (long)에서 시스템 시간 배치 aclock, 구조로 변환 newtime 및 다음 문자열 형식에 대해 변환 출력, 사용 하는 asctime_s 함수.

// crt_asctime_s.c
#include <time.h>
#include <stdio.h>

struct tm newtime;
__time32_t aclock;

int main( void )
{
   char buffer[32];
   errno_t errNum;
   _time32( &aclock );   // Get time in seconds.
   _localtime32_s( &newtime, &aclock );   // Convert time to struct tm form.

   // Print local time as a string.

   errNum = asctime_s(buffer, 32, &newtime);
   if (errNum)
   {
       printf("Error code: %d", (int)errNum);
       return 1;
   }
   printf( "Current date and time: %s", buffer );
   return 0;
}
  

해당 .NET Framework 항목

참고 항목

참조

시간 관리

ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

_ftime, _ftime32, _ftime64

gmtime_s, _gmtime32_s, _gmtime64_s

localtime_s, _localtime32_s, _localtime64_s

time, _time32, _time64

_tzset