asctime_s, _wasctime_s

Преобразование a 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] указатель на буфер для хранения результата символьной строки.Эта функция принимает указатель на допустимый расположение в памяти, размер, заданный by numberOfElements.

  • numberOfElements
    [in] размер буфера, используемого для хранения результата.

  • _tm
    [in] структура времени и даты.Эта функция принимает указатель на допустимое structtm объект.

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

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

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

buffer

numberOfElements

tm

Return

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

NULL

Any

Any

EINVAL

Не было

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

0

Any

EINVAL

Не было

NOT NULL

0< размер < 26

Any

EINVAL

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

NOT NULL

>= 26

NULL

EINVAL

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

NOT NULL

>= 26

Недопустимая структура времени или из значений диапазона для компонентов времени

EINVAL

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

ПримечаниеПримечание

Условия ошибки wasctime_s подобно asctime_s за исключением того, что ограничение размера измеряться в машинных словам.

Заметки

asctime функция преобразует время, которые хранятся в виде структуры в командную строку._tm значение обычно извлекаются из вызова gmtime OR localtime.Обе функции могут быть использованы для заполнения a tm структура, как определено в TIME.H.

элемент timeptr

Значение

tm_hour

Количество часов, истекших после полуночи (0-23)

tm_isdst

Положительное значение, если фактически относится к летнему времени; 0, если летнее время не действует. недостаток если состояние летнего времени неизвестно.Библиотека времени выполнения c использует правила Соединенных Штатов для реализации вычисление летнего времени не).

tm_mday

День месяца (1-31)

tm_min

Минуты после часа (0-59)

tm_mon

Месяц (0-11; январь = 0)

tm_sec

С помощью секунды после минута (0-59)

tm_wday

День недели (0-6; воскресенье = 0)

tm_yday

День года (0-365; 1-ое января = 0)

tm_year

Year (текущий год минус 1900)

Преобразованная строка символов кроме того, которым регулируется согласно параметрам зона локального времени.См. time, _time32, _time64" _ftime, _ftime32, _ftime64и localtime_s, _localtime32_s, _localtime64_s функции дополнительные сведения о настройке локального времени и _tzset функция дополнительные сведения об определении среду и глобальные переменные часового пояса.

Строковый результат generated by asctime_s содержит ровно 26 символов и имеет форму Wed Jan 02 02:03:55 1980\n\0.24 Часовой часы используется.Все поля имеющих постоянной шириной.Символ новой линии и нуль-символ занимают 2 последних позиции строки.Значение, передаваемое в качестве второго параметра должно быть не менее этим большим.Если это так, код ошибки EINVAL, будет возвращено.

_wasctime_s версия расширенных символов asctime_s._wasctime_s и asctime_s поступайте совпадают, в противном случае.

Сопоставление Родов-Текста обычного

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

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

Указанный символ _MBCS

Указанный _UNICODE

_tasctime_s

asctime_s

asctime_s

_wasctime_s

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

Требования

Процедура

Обязательный заголовок

asctime_s

<time.h>

_wasctime_s

<time.h> OR <wchar.h>

Безопасность

Если указатель буфера нет NULL и указатель не указывает на допустимый буфер, функция перезапишет все действия на месте.Это также может привести к появлению Нарушении прав доступа.

A переполнение буфера может указываться, если аргумент, переданный размер превышает фактический размер буфера.

Пример

Эта программа устанавливает системное время в длинном целом числе 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