Функции библиотеки 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().

Пример

#include <stdio.h>

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.

Стандартная библиотека C - <stdio.h>

Другие расширения