5.3.2. Функции размещения каталогов BSD
5.3.2. Функции размещения каталогов BSD
Иногда полезно отметить текущее положение в каталоге для того, чтобы иметь возможность позже к нему вернуться. Например, вы пишете код, обходящий дерево каталога, и хотите рекурсивно входить в каждый подкаталог, когда его проходите. (Как отличить файлы от каталогов обсуждается в следующем разделе). По этой причине первоначальный интерфейс BSD включал две дополнительные процедуры:
#include <dirent.h> /* XSI */
/* Предупреждение: POSIX XSI использует для обеих функций long, а не off_t */
off_t telldir(DIR *dir); /* Вернуть текущее положение */
void seekdir(DIR *dir, off_t offset); /* Переместиться в данное положение */
Эти процедуры подобны функциям ftell() и fseek() и <stdio.h>. Они возвращают текущее положение в каталоге и устанавливают текущее положение в ранее полученное значение соответственно.
Эти процедуры включены в часть XSI стандарта POSIX, поскольку они имеют смысл лишь для каталогов, которые реализованы с линейным хранением элементов каталога
Помимо предположений, сделанных относительно лежащей в основе структуры каталога, эти процедуры рискованнее использовать, чем простые процедуры чтения каталога. Это связано с тем, что содержание каталога может изменяться динамически: когда файлы добавляются или удаляются из каталога, операционная система приводит в порядок содержание каталога. Поскольку элементы каталога имеют различный размер, может оказаться, что сохраненное ранее абсолютное смещение больше не представляет начало элемента каталога! Поэтому мы не рекомендуем вам использовать эти функции, если вам они действительно не нужны[56].
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Структура каталогов
Структура каталогов Основной каталог носит название WindowsSmpEd3 (от Windows Sample Programs, Edition 3). Для каждой главы предусмотрен отдельный подкаталог. Все заголовочные файлы находятся в каталоге Include, а в каталоге Utilities содержатся такие часто используемые функции, как ReportError или
Обработка каталогов
Обработка каталогов Пример, рассмотренный выше, относился к администратору последовательного порта. Мы также высказывали предположение, что хотим точного соответствия имен путей при поиске по дереву. Это предположение справедливо только наполовину — все соответствия
14.3.2. Удаление каталогов
14.3.2. Удаление каталогов Удаление каталога — это практически то же, что и удаление файла; меняется разве что имя системного вызова.#include <unistd.h>int rmdir(char * pathname);Для успешного выполнения rmdir() каталог должен быть пустым (он не должен содержать ничего, кроме вездесущих . и ..); в
Параметры размещения. Плавающие контейнеры
Параметры размещения. Плавающие контейнеры Местоположение блочных контейнеров (и любых других блочных элементов) на Web-странице определяют два весьма примечательных атрибута стиля.Изначально блочные элементы Web-страницы располагаются на ней по вертикали, строго друг
Из истории систем размещения
Из истории систем размещения Не в интересах правды, а истины ради нужно заметить, что комплексные системы размещения данных – отнюдь не порождение мира FOSS, их корни лежат в недрах проприетаризма. И первой из них была, видимо, файловая система Veritas (или VxFS), разработанная
Из истории систем размещёния
Из истории систем размещёния Не в интересах правды, а истины ради нужно заметить, что ZFS была отнюдь не первой комплексной системой размещёния данных — хотя её исторические предшественницы также именовались просто файловыми системами.Первой из таких предшественниц
Пример размещения сайта
Пример размещения сайта Если вы думаете, что разместить свой сайт в Интернете довольно проблематично и для этого необходимо быть хорошим специалистом по сетевым технологиям, то вы глубоко ошибаетесь. На самом деле все не просто, а очень просто! Чтобы не быть голословным,
Описание каталогов
Описание каталогов В состав URL входит от двух до четырех компонентов.• Протокол. Первый компонент URL (например, http:// или ftp://) определяет протокол, используемый для взаимодействия. В данной главе в основном обсуждаются серверы, поддерживающие протокол HTTP (в этом случае
Параметры размещения. Плавающие контейнеры
Параметры размещения. Плавающие контейнеры Местоположение блочных контейнеров (и любых других блочных элементов) на Web-странице определяют два весьма примечательных атрибута стиля.Изначально блочные элементы Web-страницы располагаются на ней по вертикали, строго друг
21.1.6. Опции каталогов
21.1.6. Опции каталогов Две важнейшие опции каталогов: -I и -L. Первая позволяет указать путь для поиска заголовков (файлов с расширением .h), а вторая — библиотек. Например, если вы хотите, чтобы компилятор использовал файлы заголовков, которые находятся в каталоге /root/include,
Выбор сетевого размещения
Выбор сетевого размещения При первом подключении к локальной сети система попросит пользователя указать сетевое размещение, которому будет отнесено данное подключение. В соответствие с выбранным размещением будут приведены настройки брандмауэра Windows 7, а также прочие
Изменение размещения папок и каталогов
Изменение размещения папок и каталогов Изменение размещения папки Избранное Для того чтобы изменить размещение папки Избранное, следует написать новый путь к этой папке в следующий ключ:[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell
Изменение размещения папки Избранное
Изменение размещения папки Избранное Для того чтобы изменить размещение папки Избранное, следует написать новый путь к этой папке в следующий ключ:[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell
8.4.5. Оператор размещения new А
8.4.5. Оператор размещения new А Существует третья форма оператора new, которая создает объект без отведения для него памяти, то есть в памяти, которая уже была выделена. Эту форму называют оператором размещения new. Программист указывает адрес области памяти, в которой
Правила размещения вакансий
Правила размещения вакансий Итак, мы уже знаем, как в Интернете можно поискать сотрудников, не прибегая к услугам кадровых агентств. Однако, подавая объявление о вакансии в Интернете, в печатных изданиях либо в иных местах, следует соблюдать определенные правила и