Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Интернет » Linux программирование в примерах - Роббинс Арнольд

Linux программирование в примерах - Роббинс Арнольд

Читать онлайн Linux программирование в примерах - Роббинс Арнольд

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 63 64 65 66 67 68 69 70 71 ... 253
Перейти на страницу:

Форматирующая строка содержит символы букв, смешанные о описателями преобразования, указывающими, что должно быть помещено в строку, такими, как полное имя дня недели, час в соответствии с 24-часовым или 12-часовым циклом, наличие указателей am или p.m[64], и т.д. (Вскоре будут приведены примеры.)

Если всю строку можно отформатировать с использованием не более max символов, возвращаемое значение представляет собой число символов, помещенных в s, не включая завершающий нулевой байт. В противном случае, возвращаемое значение ноль. В последнем случае содержание s «неопределенно». Следующий простой пример дает представление об использовании strftime():

#include <stdio.h>

#include <time.h>

int main(void) {

 char buf[100];

 time_t now;

 struct tm *curtime;

 time(&now);

 curtime = localtime(&now);

 (void)strftime(buf, sizeof buf,

  "It is now %A, %B %d, %Y, %I:%M %p", curtime);

 printf("%sn", buf);

 exit(0);

}

После запуска эта программа выводит что-то типа:

It is now Thursday, May 22, 2003, 04:15 PM

В табл. 6.2 предоставлен полный список описателей преобразования, их возможные альтернативные представления и их значения. Вдобавок стандарт C99 добавил к списку дополнительные описатели; новые для C99 описатели помечены символом √.

Таблица 6.2. Описатели преобразования формата strftime()

Описатель C99 Значение %a Локальное сокращенное название дня недели. %A Локальное полное название дня недели. %b Локальное сокращенное название месяца. %B Локальное полное название месяца. %c, %Ec Локальное «подходящее» представление даты и времени %C, %EC √ Век (00–99) %d, %Od День месяца (01–31) %D √ То же, что %m/%d/%y %e, %Oe √ День месяца. Одна цифра дополняется пробелом (1–31). %F √ То же, что и %Y-%m-%d (формат даты ISO 8601) %g √ Две последние цифры, основанной на неделе года (00–99). %G √ Основанный на неделе год ISO 8601 %h √ То же, что и %b %H, %OH Час в 24-часовом цикле (00–23) %I, %OI Час в 12-часовом цикле (01–12) %j День года (001–366) %m, %Om Месяц в виде числа (01–12). %M, %OM Минута в виде числа (00–59) %n √ Символ конца строки ('n') %p Локальное обозначение a.m./p.m. %r √ Локальное время в 12-часовом цикле %R √ Тоже, что и %H:%M %S, %OS Секунда в виде числа (00–60) %t √ Символ табуляции ('t') %T √ То же, что и %H:%M:%S (формат ISO 8601). %u, %Ou √ Число дня недели ISO 8601, понедельник = 1 (1–7). %U, %OU Номер недели, первое воскресенье является первым днем недели 1 (00–53) %V, %OV √ Номер недели ISO 8601 (01–53) %w, %Ow День недели как число, воскресенье = 0 (0–6). %W, %OW Номер недели, первый понедельник является первым днем недели 1 (00–53) %x, %Ex Локальное «подходящее» представление даты %X, %EX Локальное «подходящее» представление времени. %y, %Ey, %Oy Две последние цифры года (00–99) %Y, %EY Год как число. %Z Локальный часовой пояс или отсутствие символов, если сведения о часовом поясе недоступны %% Простой %
1 ... 63 64 65 66 67 68 69 70 71 ... 253
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Linux программирование в примерах - Роббинс Арнольд.
Комментарии