Программирование в стандарте POSIX


Создание, удаление, копирование и перемещение файлов - часть 3


и функция mkdir()

#include <sys/stat.h> int mkdir (const char *path, mode_t mode);

С помощью одной команды mkdir можно сформировать несколько каталогов. В каждом из них появятся ссылки . и .., которые другими способами создать нельзя. По умолчанию устанавливаются все биты режима доступа; режим можно задать и явно с помощью опции -m.

Если нужен не один, а целая цепочка каталогов, следует воспользоваться опцией -p. Соответствующий пример приведен в пример 4.36.

mkdir -p work/tmp/save

Листинг 4.36. Пример использования служебной программы mkdir для создания цепочки каталогов. (html, txt)

По этой команде в текущем каталоге появится подкаталог work, в нем - каталог   tmp, а уже в нем - каталог   save.

Смысл аргументов функции mkdir() тот же, что и для creat(), в случае неудачи возвращается -1, но при нормальном завершении результат равен 0 (mkdir() не оставляет новый каталог открытым). Перечисленные выше условия неудачного завершения creat() (кроме превышения максимального числа одновременно открытых файлов) применимы и к mkdir().

Интерфейс, сходный с mkdir, имеют утилита mkfifo для создания каналов:

mkfifo [-m режим_доступа] канал ...

Заметим, что здесь отсутствует опция -p) и одноименная функция (см. пример 4.37).

#include <sys/stat.h> int mkfifo (const char *path, mode_t mode);

Листинг 4.37. Описание функции mkfifo(). (html, txt)




Начало  Назад  Вперед



Книжный магазин