asctime(), asctime_r()

Получить строку, содержащую информацию о текущем времени

Прототип:

#include <time.h>
char* asctime( const struct tm *timeptr );
char* asctime_r( const struct tm *timeptr,
char *buf );

Аргументы:

timeptr
Указатель на структуру struct tm, содержащую время, которое необходимо преобразовать в строку.
buf
(только для asctime_r()) Буфер, в котором asctime_r() сохранит итоговую строку. Размер этого буфера должен быть не менее 26 символов.

Библиотека:

libc

Описание:

Функции asctime() и asctime_r() преобразуют информацию о времени, указанную в структуре timeptr в строку, содержащую ровно 26 символов, например, вида:

Tue May 7 10:40:27 2002\n\0


Note: Функция asctime() помещает итоговую строку в статический буфер, который переиспользуется при каждом вызове функций asctime() или ctime(). Вызов gmtime() или localtime() также могут изменить данные в этом статическом буфере.

Итоговая строка функции asctime_r() содержится в буфере, указанном в buf.


Все поля имеют одинаковую длинну. Символ новой строки '\n' и символ NUL '\0' занимают в строке две последние позиции.

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

Указатель на итоговую строку, или NULL в случае возникновения ошибки.

Классификация:

asctime() — ANSI, POSIX 1003.1; asctime_r() — POSIX 1003.1 Thread-Safe Functions

asctime():

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

asctime_r():

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Предостережения:

Функции asctime() и ctime() помещают результат в статический буфер, который переиспользуется при каждом вызове asctime() или ctime().

Тематические ссылки:

clock(), ctime(), difftime(), gmtime(), localtime(), localtime_r(), mktime(), strftime(), time(), struct tm, tzset()




Предыдущий раздел: Описание API системной библиотеки