Книга: Linux программирование в примерах
6.1.3.1. Простое форматирование времени: asctime() и ctime()
6.1.3.1. Простое форматирование времени: asctime()
и ctime()
Две первые стандартные процедуры, перечисленные ниже, выводят данные в фиксированном формате:
#include <time.h> /* ISO С */
char *asctime(const struct tm *tm);
char *ctime(const time_t *timep);
Как и в случае с gmtime()
и localtime()
, asctime()
и ctime()
возвращают указатели на статические буфера, которые могут быть перезаписаны после каждого вызова. Более того, эти две процедуры возвращают строки в одном и том же формате. Они отличаются лишь видом принимаемых аргументов, asctime()
и ctime()
должны использоваться тогда, когда все, что вам нужно, это простые сведения о дате и времени.
#include <stdio.h>
#include <time.h>
int main(void) {
time_t now;
time(&now);
printf("%s", ctime(& now));
}
После запуска эта программа выводит результат в виде: 'Thu May 22 15:44:21 2003
'. Завершающий символ конца строки включен в результат. Точнее, возвращаемое значение указывает на массив из 26 символов, как показано на рис. 6.1.
Рис. 6.1. Возвращаемая функциями ctime()
и asctime()
строка
Значительная часть старого кода Unix полагается на тот факт, что значения в возвращенной строке имеют фиксированную позицию. При использовании этих функций помните, что они включают завершающий символ конца строки. Поэтому наш небольшой пример программы использует для printf()
простую форматирующую строку "%s
", а не "%sn
", как можно было бы ожидать.
ctime()
устраняет необходимость шага вызова localtime()
; в сущности, это эквивалентно
time_t now;
char *curtime;
time(&now);
curtime = asctime(localtime(&now));
- 6.1.3. Форматирование даты и времени
- Простое присваивание
- Уменьшение времени, необходимого для резервного копирования и восстановления
- Ограничение времени ожидания для транзакций (Lock timeout)
- 7.12. Объективизация времени
- Квант времени
- Формула времени. Тайм-менеджмент на Outlook 2013
- Как в документ Microsoft Word вставить текст, в котором отсутствует форматирование?
- Трюки с форматированием
- 12.6. Сигналы реального времени
- Время от времени оптическая мышь начинает мигать. Она сломалась?
- 2.9. Форматирование строк