Функция 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,
которая удаляет файлы и директории рекурсивно