РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
502 of 815 menu

Функция rename

Функция rename переименовывает файл или директорию. В первом параметре мы передаем путь к исходному файлу или папке, который нужно переименовать или переместить. Во втором параметре указываем новое имя или новый путь. Если целевой путь указывает на другую директорию, файл будет перемещен. Если файл с таким именем уже существует в целевой директории, поведение зависит от операционной системы: в POSIX-системах файл будет заменен, в Windows операция завершится ошибкой.

Функция возвращает true в случае успеха и false, если операцию выполнить не удалось.

Синтаксис

bool rename(const path& old_path, const path& new_path); bool rename(const path& old_path, const path& new_path, error_code& ec);

Пример

Давайте переименуем файл old.txt в new.txt:

#include <iostream> #include <filesystem> #include <fstream> using namespace std; namespace fs = std::filesystem; int main() { // Create a file for demonstration ofstream("old.txt") << "test"; bool res = fs::rename("old.txt", "new.txt"); cout << boolalpha << res << endl; return 0; }

Результат выполнения кода:

true

Пример

Давайте переместим файл file.txt в директорию folder, изменив его имя на moved.txt:

#include <iostream> #include <filesystem> #include <fstream> using namespace std; namespace fs = std::filesystem; int main() { // Create file and directory for demonstration ofstream("file.txt") << "data"; fs::create_directory("folder"); bool res = fs::rename("file.txt", "folder/moved.txt"); cout << boolalpha << res << endl; return 0; }

Результат выполнения кода:

true

Пример

Давайте попробуем переименовать несуществующий файл и обработаем ошибку:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { error_code ec; bool res = fs::rename("missing.txt", "target.txt", ec); if (!res) { cout << "Error: " << ec.message() << endl; } return 0; }

Результат выполнения кода:

"Error: No such file or directory"

Смотрите также

  • функция copy,
    которая копирует файлы и директории
  • функция remove,
    которая удаляет файл или пустую директорию
  • функция exists,
    которая проверяет существование пути
  • класс path,
    который представляет путь к файловой системе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить