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


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


С другой стороны, rename() поддерживает переименование каталогов. В этом случае аргумент new_path не должен задавать файл другого типа, а если он задает существующий каталог, тот, по понятным причинам, должен быть пустым.

В продолжение двух предыдущих примеров продемонстрируем переименование каталогов (см. пример 4.49). Итоговое состояние текущего каталога показано в пример 4.50.

#include <stdlib.h> #include <stdio.h> #define OLD_DIR "d1/d2" #define NEW_DIR "d2" int main (void) { system ("rm -f " NEW_DIR "/*"); if (rename (OLD_DIR, NEW_DIR)) { perror ("RENAME failed"); return (-1); } system ("ls -RF"); return 0; }

Листинг 4.49. Пример использования функции rename() для переименования каталогов.

.: d1/ d2/ ./d1: x y ./d2: x y

Листинг 4.50. Состояние текущего каталога после переименования каталогов с помощью функции rename().

Читателю предлагается оценить последствия повторного запуска приведенной программы.




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



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