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
gmtime_s, _gmtime32_s, _gmtime64_s