Основы программирования в Linux
Шрифт:
С помощью вызова
Системный вызов
Если счетчик становится равен нулю и файл не открыт ни в одном процессе, он удаляется. В действительности элемент каталога всегда удаляется немедленно, а место, занятое содержимым файла, не очищается до тех пор, пока последний процесс (если таковой существует) не закроет файл. Этот вызов использует программа
Создание файла с помощью вызова
Системный вызов
mkdir и rmdir
Вы можете создавать и удалять каталоги, применяя системные вызовы
Системный вызов
Системный вызов
chdir и getcwd
Программа может перемещаться по каталогам во многом так же, как пользователь перемещается по файловой системе. Как вы применяете в командной оболочке команду
Программа может определить свой текущий рабочий каталог, вызвав функцию
Функция
Функция
Просмотр каталогов
Широко распространенная проблема систем Linux — просмотр каталогов, т.е. определение файлов, размещенных в конкретном каталоге. В программах командной оболочки она решается легко — просто скомандуйте оболочке выполнить подстановку в выражении с метасимволами. В прошлом в разных вариантах UNIX был разрешен программный доступ к низкоуровневой структуре файловой системы. Вы все еще можете открывать каталог как обычный файл и непосредственно считывать элементы каталога, но разные структуры файловых систем и реализации сделали такой подход непереносимым с машины на машину. Был разработан стандартный комплект библиотечных функций, существенно упрощающий просмотр каталогов.
Функции работы с каталогами объявлены в заголовочном файле dirent.h. В них используется структура
Мы рассмотрим следующие функции:
opendir
Функция
В случае неудачи функция opendir возвращает пустой указатель. Имейте в виду, что для доступа к самому каталогу поток каталога использует низкоуровневый дескриптор файла, поэтому opendir может дать сбой, если открыто слишком много файлов.
readdir
Генерал-адмирал. Тетралогия
Генерал-адмирал
Фантастика:
альтернативная история
рейтинг книги
Последний Паладин
1. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Хозяин Теней
1. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
рейтинг книги
Седьмой круг
Любовные романы:
исторические любовные романы
рейтинг книги
Семьи.net (сборник)
Фантастика:
социально-философская фантастика
научная фантастика
рейтинг книги
Камень Книга седьмая
7. Камень
Фантастика:
фэнтези
боевая фантастика
рейтинг книги
Жестокая свадьба
Любовные романы:
современные любовные романы
рейтинг книги
Газлайтер. Том 23
23. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
рейтинг книги
Бродяга 3
3. Бродяга
Фантастика:
фэнтези
попаданцы
рейтинг книги
Запрети любить
1. Навсегда в моем сердце
Любовные романы:
современные любовные романы
рейтинг книги
Меняя маски
1. Унесенный ветром
Фантастика:
боевая фантастика
попаданцы
рейтинг книги