std::filesystem
是 C++17 标准引入的一个强大模块,位于<filesystem>
头文件中,提供了与文件系统交互的接口。这些功能包括文件路径操作、目录遍历、文件操作(如复制、删除)以及文件状态查询等。
以下是std::filesystem
的详细介绍:
引入头文件与命名空间
要使用 std::filesystem
,需要引入头文件:
#include <filesystem>
为了简化书写,通常会使用以下命名空间别名:
namespace fs = std::filesystem;
核心功能与常用类
std::filesystem::path
表示文件系统中的路径。可以是文件路径或目录路径,支持多种平台(Windows、Linux、macOS)。
常见操作
fs::path p1 = "/usr/local/bin";
fs::path p2 = "file.txt";
fs::path combined = p1 / p2; // 拼接路径
std::cout << combined.string() << '\n'; // 输出:/usr/local/bin/file.txt
// 获取路径信息
std::cout << combined.root_path() << '\n'; // 根路径:"/"
std::cout << combined.parent_path() << '\n'; // 父路径:"/usr/local/bin"
std::cout << combined.filename() << '\n'; // 文件名:"file.txt"
std::cout << combined.extension