7. Опишите преимущества и недостатки использования unlink()
mkstemp(), непосредственно после возвращения mkstemp().8. Напишите свою версию mkstemp()
mktemp() и open(). Как вы можете обеспечить те же гарантии уникальности, которые обеспечивает mkstemp()?9. Программы, использующие mkstemp()
10. (Трудное) Даже с урезанной очисткой при обработке сигнала все еще имеется состояние гонки. Есть небольшое окно между созданием временного файла функцией mkstemp()
11. Попробуйте откомпилировать и запустить ch12-setjmp.c
12. Посмотрите файл /usr/src/libc/gen/sleep.c
sleep(), описанную в разделе 10.8.1 «Сигнальные часы: sleep(), alarm() и SIGALARM». Распечатайте ее и прокомментируйте в стиле наших примеров, чтобы объяснить ее работу.13. Посмотрите справочную страницу
random()?14. Возьмите ch08-nftw.c
nftw()» и добавьте опцию --exclude=pattern. Файлы, соответствующие паттерну, не должны выводиться.15. (Трудное) Почему GLIBC нужны указатели на альтернативные версии функций стандартных каталогов и stat()
16. Измените ch12-glob.c
wordexp(). Поэкспериментируйте с ней, проделав несколько дополнительных вещей, которые она предоставляет. Не забудьте взять аргументы командной строки в кавычки, чтобы wordexp() на самом деле выполнила свою работу!17. Стандартная grep
ch12-grep.c действовала таким же образом.18. Посмотрите справочную страницу
ch12-grep.c стандартные опции -e, -s и -v.19. Напишите простую замещающую программу:
subst [-g]
Она должна читать текстовые строки из указанных
Если указана опция -g
Глава 13
Интернационализация и локализация
Ранние вычислительные системы обычно для своего вывода (приглашений, сообщений об ошибках) и ввода (ответы на запросы, такие, как «да» и «нет») использовали английский язык. Это было верно для систем Unix вплоть до середины 1980-х. В конце 80-х, начиная с первого стандарта ISO для С и продолжая стандартами POSIX 1990-х и современным стандартом POSIX, были разработаны возможности для работы программ на нескольких языках без необходимости поддержки нескольких версий одной и той же программы. Данная глава описывает, как современные программы должны справляться с многоязычными проблемами.
13.1. Введение
Центральной концепцией является
Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT