Linux программирование в примерах
Linux программирование в примерах читать книгу онлайн
В книге рассмотрены вопросы, связанные с программированием под Linux: файловый ввод/вывод, метаданные файлов, основы управления памятью, процессы и сигналы, пользователи и группы, вопросы интернационализации и локализации, сортировка, поиск и многие другие. Много внимания уделено средствам отладки, доступным под GNU Linux. Все темы иллюстрируются примерами кода, взятого из V7 UNIX и GNU. Эта книга может быть полезна любому, кто интересуется программированием под Linux.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
time_t now; struct tm *curtime; setlocale(LC_ALL, ""); time(&now); curtime = localtime(&now); (void)strftime(buf, sizeof buf, "It is now %A, %B %d, %Y, %I:%M %p", curtime); printf("%sn", buf); printf("ctime() says: %s", ctime(&now)); exit(0);}При запуске программы мы видим, что результаты
strftime()ctime()$ <b>LC_ALL=en_US ch13-times</b> /* Время в Соединенных Штатах */It is now Friday, July 11, 2003, 10:35 AMctime() says: Fri Jul 11 10:35:55 2003$ <b>LC_ALL=it_IT ch13-times</b> /* Время в Италии */It is now venerdi, luglio 11, 2003, 10:36ctime() says: Fri Jul 11 10:36:00 2003$ <b>LC_ALL=fr_FR ch13-times</b> /* Время во Франции */It is now vendredi, juillet 11, 2003, 10:36ctime() says: Fri Jul 11 10:36:05 2003Причина отсутствия изменений в том, что
ctime()asctime()ctime()strftime()13.2.8. Другие данные локали:
nl_langinfo()Хотя ранее мы сказали, что API
catgets()nl_langinfo()struct lconv#include <nl_types.h>#include <langinfo.h>char *nl_langinfo(nl_item item);Заголовочный файл
<nl_types.h>nl_itemintenumitem<langinfo.h>strftime()Доступная информация поступает из нескольких категорий локали. В табл. 13.3 перечислены константы элементов, соответствующие категории локали и их значения.
Таблица 13.3. Значения элементов для
nl_langinfo()| Элемент | Категория | Значение |
|---|---|---|
ABDAY_1ABDAY_7 | LC_TIME | Сокращенные названия дней недели. Воскресенье является днем 1 |
ABMON_1ABMON_12 | LC_TIME | Сокращенные названия месяцев |
ALT_DIGITS | LC_TIME | Альтернативные символы для цифр; см. текст |
AM_STRPM_STR | LC_TIME | Обозначения a.m/p.m. для локали. |
CODESET | LC_TYPE | Имя кодовой страницы для локали, т.е. использующиеся набор символов и кодировка |
CRNCYSTR | LC_MONETARY | Символ местной валюты, описанный ниже |
DAY_1DAY_7 | LC_TIME | Названия дней недели. Воскресенье является днем 1 |
D_FMT | LC_TIME | Формат даты |
D_T_FMT | LC_TIME | Формат даты и времени |
ERA_D_FMT | LC_TIME | Формат даты эры. |
ERA_D_T_FMT | LC_TIME | Формат даты и времени эры. |
ERA_T_FMT | LC_TIME | Формат времени эры. |
ERA | LC_TIME | Сегменты описания эры, см. текст. |
MON_1MON_12 | LC_TIME | Названия месяцев. |
RADIXCHAR | LC_NUMERIC | Символ системы счисления. Для базы 10 это символ точки в десятичной дроби. |
THOUSEP | LC_NUMERIC | Символ-разделитель тысяч |
T_FMT_AMPM | LC_TIME | Формат времени в записи a.m/p.m. |
T_FMT | LC_TIME | Формат времени. |
YESEXPRNOEXPR | LC_MESSAGES | Строка, представляющая положительный и отрицательный ответы. |
