void assign(const path& p); // (1)
void assign(const path& p, std::error_code& ec); // (2)
概要
パスを再代入する。
戻り値
エラーが発生した場合は、キャッシュされた属性の値は未規定となる (更新前のキャッシュの値のままかもしれないし、キャッシュが破棄されるかもしれない)。(2)の場合は、エラー情報がec
に設定される。
例
#include <iostream>
#include <filesystem>
#include <fstream>
namespace fs = std::filesystem;
int main()
{
fs::create_directory("dir");
std::ofstream{"dir/a.txt"};
std::ofstream{"dir/b.txt"};
fs::directory_entry x{"dir/a.txt"};
x.assign("dir/b.txt");
std::cout << x.path() << std::endl;
}
xxxxxxxxxx
#include <iostream>
#include <filesystem>
#include <fstream>
namespace fs = std::filesystem;
int main()
{
fs::create_directory("dir");
std::ofstream{"dir/a.txt"};
std::ofstream{"dir/b.txt"};
fs::directory_entry x{"dir/a.txt"};
x.assign("dir/b.txt");
std::cout << x.path() << std::endl;
}
出力例
"dir/b.txt"
バージョン
言語
- C++17
処理系
- Clang:
- GCC: 8.1 ✅
- Visual C++: