Функция copy_file
Функция copy_file копирует содержимое
файла из первого параметра в файл, указанный
во втором параметре. Третий параметр задаёт
поведение функции при совпадении имён файлов
(перезапись или ошибка). Функция возвращает
true, если копирование прошло успешно,
и false в противном случае.
Синтаксис
bool copy_file(const path& from, const path& to, copy_options options = copy_options::none)
Пример
Давайте скопируем содержимое файла
/var/www/source.txt в файл
/var/www/dest.txt:
#include <iostream>
#include <filesystem>
using namespace std;
namespace fs = std::filesystem;
int main()
{
fs::path from = "/var/www/source.txt";
fs::path to = "/var/www/dest.txt";
bool res = fs::copy_file(from, to);
cout << res << endl;
return 0;
}
Результат выполнения кода:
1
Пример
Если файл назначения уже существует,
без указания опции копирования функция
выбросит исключение. Давайте укажем
опцию overwrite_existing, чтобы
разрешить перезапись:
#include <iostream>
#include <filesystem>
using namespace std;
namespace fs = std::filesystem;
int main()
{
fs::path from = "/var/www/source.txt";
fs::path to = "/var/www/dest.txt";
bool res = fs::copy_file(from, to, fs::copy_options::overwrite_existing);
cout << res << endl;
return 0;
}
Результат выполнения кода:
1