- filesystem[meta header]
- std::filesystem[meta namespace]
- class[meta id-type]
- cpp17[meta cpp]
namespace std::filesystem {
class directory_entry;
}
directory_entryは、directory_iteratorクラスもしくはrecursive_directory_iteratorクラスによってディレクトリ走査をした際に取得できる、ディレクトリ内要素を表すクラスである。
ディレクトリの走査では、オペレーティングシステムのファイルシステムごとに、異なる追加の属性が取得できる。このクラスは、オペレーティングシステムごとの差異を吸収し、ディレクトリ走査を効率的に行えるようさまざまな属性をキャッシュする。
| 名前 |
説明 |
対応バージョン |
(constructor) |
コンストラクタ |
C++17 |
~directory_entry(); |
デストラクタ |
C++17 |
directory_entry& operator=(const directory_entry&) = default; directory_entry& operator=(directory_entry&&) noexcept = default; |
代入演算子 |
C++17 |
#include <iostream>
#include <filesystem>
#include <fstream>
namespace fs = std::filesystem;
int main()
{
fs::create_directory("dir");
fs::create_directory("dir/inner_dir");
std::ofstream{"dir/a.txt"};
// dirディレクトリ内のファイルを列挙する
for (const fs::directory_entry& x : fs::directory_iterator("dir")) {
std::cout << x.path() << std::endl;
}
}
- fs::directory_entry[color ff0000]
- fs::create_directory[link create_directory.md]
- fs::directory_iterator[link directory_iterator.md]
- x.path()[link directory_entry/path.md]
"dir/inner_dir"
"dir/a.txt"