私は新しいstd::filesystem
ライブラリを試しています。 私は、ユーザがリストアップしたファイルを特定のディレクトリにコピーするプログラムを作っています。しかし、リストされたファイルがサブディレクトリにある場合、std::filesystem::copy
またはstd::filesystem::copy_file
を使用する単純なアプローチは機能しませんでした。例えばファイルをコピーするときに存在しないディレクトリを自動的に作成することはできますか?
、私は
(some other directory)/file1.ext
(some other directory)/subdir/file2.ext
を得るように、(some other directory)
に
(some directory)/file1.ext
(some directory)/subdir/file2.ext
を言って、私は(some directory)
にいくつかのファイルをコピーしたいとディレクトリ(some directory)
は、ファイルやディレクトリか等を含んでいてもよいですコピーする必要はありません。 std::filesystem::copy
だけを使用すると、file1.ext
は成功しますが、(some other directory)/subdir
がない場合はfiles2.ext
が失敗します。
この問題を回避するには、ディレクトリのパスを取得する
- コール
std::filesystem::path::remove_filename
ました。 - ディレクトリが存在しない場合は、
std::filesystem::create_directories
を呼び出してディレクトリを作成します。 std::filesystem::copy
を呼び出して目的のファイルをコピーします。
この3ステップアプローチを1回の呼び出しで行うことは可能でしょうか。ありがとうございました。
申し訳ありませんが、私はそのことについて –
申し訳ありません...「ディレクトリ(いくつかのディレクトリ)にコピーする必要がないなどのファイルやディレクトリやが含まれていてもよい」述べました。私はそのような機能があるとは思わない。リンク元には、コピー機能で使用可能なすべてのオプションがリストされています。 – XNiiNJA