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

Функция copy

Функция copy копирует файл или директорию из одного места в другое. В первом параметре мы передаем путь к источнику, откуда следует копировать, а во втором - путь к назначению, куда следует скопировать. Третий параметр задает дополнительные опции копирования, например, перезапись существующих файлов.

Синтаксис

void copy(const path& from, const path& to); void copy(const path& from, const path& to, error_code& ec);

Пример

Давайте скопируем файл source.txt в файл dest.txt:

#include <iostream> #include <filesystem> #include <fstream> using namespace std; namespace fs = std::filesystem; int main() { ofstream("source.txt") << "abcde"; fs::copy("source.txt", "dest.txt"); ifstream fin("dest.txt"); string res; fin >> res; cout << res << endl; return 0; }

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

"abcde"

Пример

Давайте скопируем содержимое одной директории в другую:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::create_directory("dir1"); fs::create_directory("dir2"); fs::copy("dir1", "dir2", fs::copy_options::recursive); bool res = fs::exists("dir2"); cout << res << endl; return 0; }

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

1

Пример

Давайте скопируем файл с перезаписью существующего файла назначения:

#include <iostream> #include <filesystem> #include <fstream> using namespace std; namespace fs = std::filesystem; int main() { ofstream("dest.txt") << "12345"; ofstream("source.txt") << "abcde"; fs::copy("source.txt", "dest.txt", fs::copy_options::overwrite_existing); ifstream fin("dest.txt"); string res; fin >> res; cout << res << endl; return 0; }

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

"abcde"

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

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