Функции библиотеки C -rename()
Стандартная библиотека C - <stdio.h>
rename() — это функция стандартной библиотеки C, используемая дляпереименования файла или каталогаэтой функции.
rename() определена в заголовочном файле <stdio.h>.
Функции библиотеки Cint rename(const char *old_filename, const char *new_filename)содержитold_filenameИмя файла, на который он указывает, изменяется наnew_filename。
Объявление
Ниже приведено объявление функции rename
int rename(const char *old_filename, const char *new_filename)
Параметр
- old_filename-- Исходное имя файла (если оно содержит путь, необходимо указать полный путь).
- new_filename-- new_filename: новое имя файла (также может содержать путь).
Возвращаемое значение
- 0: Выполнено успешно (файл/каталог успешно переименован).
- Ненулевое значение: ошибка выполнения (к распространённым причинам ошибок относятся недостаточные права, файл не существует, целевой объект уже существует и т. д.).
Примечания по использованию
Файл должен существовать; в противном случае будет возвращена ошибка.
Если целевой файл new_filename уже существует, разные системы могут обрабатывать это по-разному:
- В большинстве систем Unix/Linux rename() напрямую перезапишет целевой файл.
- В Windows, если целевой файл существует, rename() завершится ошибкой.
Невозможно переименовать между разными точками монтирования (разделами/устройствами).
Пример
В следующем примере демонстрируется использование функции rename().
Пример
int main () {
int ret;
char oldname[] = "file.txt";
char newname[] = "newfile.txt";
ret = rename(oldname, newname);
if(ret == 0) {
printf("Файл успешно переименован");
} else {
printf("Ошибка: невозможно переименовать файл");
}
return(0);
}
Предположим, у нас есть текстовый файлfile.txt, содержимое которого приведено ниже. Мы будем использовать вышеприведённую программу для переименования файла. Скомпилируем и запустим вышеприведённую программу, которая выведет следующее сообщение, и файл будет переименован вnewfile.txtФайл.
File renamed successfully.Другие расширения