Linux программирование в примерах
Шрифт:
В дополнение к
8.4.3. Перемещение по иерархии:
Обычной задачей программирования является обработка целых иерархий каталогов: выполнение действий над каждым файлом и каждым каталогом и подкаталогом в целостном дереве. Рассмотрите, например, команду
На данный момент
8.4.3.1. Интерфейс
Чтобы избавиться от проблем, System V предложила функцию
Со временем стало ясно, что интерфейс
84
POSIX стандартизировал
А вот аргументы:
Строка с именем отправной точки иерархии для обработки.
Указатель на функцию с данными аргументами. Эта функция вызывается для каждого объекта в иерархии. Подробности ниже.
Этот аргумент назван неверно. Чтобы избежать выхода за пределы дескрипторов файлов,
Набор флагов, объединяемых побитовым ИЛИ, которые указывают, как
Интерфейс
Таблица 8.3. Управляющие флаги для
| Флаг | Значение |
|---|---|
FTW_CHDIR | При установке перед открытием каждого из каталогов сначала осуществляется переход в него. Это действие более эффективно, но вызывающее приложение должно быть готово оказаться в другом каталоге, когда nftw завершится |
FTW_DEPTH | При установке осуществляется «сначала глубокий поиск». Это означает, что все файлы и подкаталоги обрабатываются до того, как будет обработан сам каталог |
FTW_MOUNT | При установке остается в той же самой смонтированной файловой системе. Это более специализированная опция |
FTW_PHYS | При установке не следует по символическим ссылкам |
85
У некоторых старых версий GLIBC были проблемы с FTW_CHDIR. Это не относится к GLIBC 2.3.2 и более поздним, и маловероятно, что вы столкнетесь с проблемами — Примеч. автора.
86
Мы не знаем, почему кому-нибудь может понадобиться делать такое изменение, но философия «что вы просили, то и получили» применяется и здесь! — Примеч. автора.
8.4.3.2. Функция обратного вызова
После запуска
Имя текущего обрабатываемого файла (каталога, символической ссылки и т.д.).
Указатель на
Одно из нескольких значений флагов (описанных ниже), указывающих, какой это вид файла или была ли ошибка для объекта.
Эта структура предоставляет две отдельные части информации:
Дневники 1932-1947 гг
Документальная литература:
биографии и мемуары
рейтинг книги
Коммунизм как реальность
Документальная литература:
критика
публицистика
рейтинг книги
Старая школа рул
1. Второгодка
Фантастика:
альтернативная история
рейтинг книги
Ассасин
1. Город
Фантастика:
фэнтези
рейтинг книги
Враг из прошлого тысячелетия
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Имперец. Том 4
3. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
рейтинг книги
Тринадцатый IV
4. Видящий смерть
Фантастика:
боевая фантастика
попаданцы
рейтинг книги
Сын Петра. Том 1. Бесенок
1. Сын Петра
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Законник Российской Империи
1. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
рейтинг книги
Делопроизводство для секретаря
Деловая литература:
делопроизводство
рейтинг книги
Андропов
982. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
рейтинг книги
Звезды: их рождение, жизнь и смерть
Научно-образовательная:
физика
астрономия и космос
рейтинг книги
Эпоха Опустошителя. Том VII
7. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
рейтинг книги
Информация: сбор, защита, анализ. Учебник по информационно-аналитической работе
Научно-образовательная:
прочая научная литература
рейтинг книги