ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s

Преобразовать значение времени в строке и обработка параметров зона локального времени.Эти версии ctime, _ctime64, _wctime, _wctime64 со службами расширений безопасности, как описано в разделе Средства безопасности в CRT.

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 представляет дату перед полночью 1-ое января 1970, в формате UTC.

    • При использовании _ctime32_s OR _wctime32_s и time представляет дату после 03:14. 7-ое января 19, 2038.

    • При использовании _ctime64_s OR _wctime64_s и time представляет дату после 23:59. 59 - 31-ое декабря 3000, в формате UTC.

    • При использовании _ctime_s OR _wctime_sэти функции программы-оболочки к предыдущему функциям.См. раздел примeчаний.

  • [входящий] numberOfElements
    Размер буфера.

  • [in] time
    Указатель к хранимому времени.

Возвращаемое значение

Нуль, если успешно.Если сбой из-за недопустимого параметра, то вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то код ошибки возвращается.Коды ошибок, определенные в ERRNO.H; для списка этих ошибок см. errno.Фактические коды ошибок, вызванных для каждого условия ошибки отображаются в следующей таблице.

Условия возникновения ошибок

buffer

numberOfElements

time

Return

Значение в пределах buffer

NULL

any

any

EINVAL

Не было

NOT NULL (указывает на допустимый памяти)

0

any

EINVAL

Не было

NOT NULL

0< размер < 26

any

EINVAL

Пустая строка

NOT NULL

>= 26

NULL

EINVAL

Пустая строка

NOT NULL

>= 26

< 0

EINVAL

Пустая строка

Заметки

ctime_s функция преобразует значение времени, которые хранятся в виде a time_t структура в символьную строку.time значение обычно извлекаются из вызова Время, который возвращает число секунд, прошедшего с полуночи (00:00: 00, 1-ое января 1970), координируемый всемирное время (UTC).Строка возвращаемого значения содержит только 26 символов и имеет форму:

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

24 Часовой часы используется.Все поля имеющих постоянной шириной.Символ новой линии (" \ n ") и нуль-символ (" \ 0 ") занимают 2 последних позиции строки.

Преобразованная строка символов кроме того, которым регулируется согласно параметрам зона локального времени.См. 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 (sp2) time_tможно указать _USE_32BIT_TIME_T.Это вызовет ctime_s выдавать _ctime32_s.Это не рекомендуется, поскольку приложение может завершиться ошибкой после 18-ого января 2038 и не разрешено на платформах с пакетом обновления 64 (sp2).

В C++ с помощью этих функций упрощает перегрузками шаблона; перегруженные методы могут определять длина буфера, автоматически, устранение необходимости указывать аргумент size.Дополнительные сведения см. в разделе Предоставляйте перегруженный шаблона.

Сопоставления подпрограммы Родов-Текста

Подпрограмма TCHAR.H

_MBCS не заданные _UNICODE &

Указанный символ _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