rename – переименование файла или каталога.
Синтаксис:
#include < stdio.h >
int rename (const char *old_name, const char *new_name);
Аргументы:
old_name – указатель на строку содержащую текущее маршрутное имя файла или каталога.
new_name - указатель на строку содержащую новое маршрутное имя файла или каталога.
Возвращаемое значение:
0 – при успешном переименовании файла
-1 – если при работе функции возникли ошибки, при этом переменной errno будет присвоен код ошибки. Узнать описание возникшей ошибки можно с помощью функции perror.
Описание:
Функция переименовывает файл или каталог. Если оба аргумента функции совпадают и указывают на один и тот же файл или каталог, то функция не будет производить никаких действий и вернет признак успешного завершения.
Если файл или каталог с именем new_name уже существует, то он будет удален, а файл или каталог с именем old_name будет переименован в new_name.
Если переименовывается каталог, то его новое маршрутное имя должно указывать новый каталог, а не файл. Так же если переименовывается файл, то его новое маршрутное имя должно указывать на файл, а не на каталог.
Маршрутное имя new_name не должно содержать префикса, именующего old_name. Например, если переименовывается каталог “save/newdata”, то новое имя не может содержать префикс “save/newdata”, то есть не может иметь вид, например, save/newdata/cars”
Пример:
В примере переименовывается каталог myfile, располагающейся в директории, из которой запускается программа. Новое название каталога: “mycat”.
#include < stdio.h > // Для printf, rename
int main (void)
{
printf (“Переименование каталога: ”);
// Переименование каталога
if (-1 == rename (“myfile”,” mycat”))
printf (“Ошибка\n”);
else
printf (“Выполнено\n”);
return 0;
}
| |
Результат:
Вывод на консоль:
Переименование каталога: выполнено
|
В результате работы программы, в каталоге, из которого запускается программа, вместо папки myfile появилась папка mycat, при этом содержимое папке myfile осталось неизменным и находится в папке mycat.
Смотри так же:
rename
link
remove
rmdir
tmpfile
tmpnam
unlink
|