std::filesystem — cross-platform filesystem operations.
1#include <filesystem>2namespace fs = std::filesystem;34// Path operations5fs::path p = "/home/user/file.txt";6std::cout << p.filename(); // "file.txt"7std::cout << p.stem(); // "file"8std::cout << p.extension(); // ".txt"910// File operations11fs::create_directories("dir/subdir");12fs::copy("source.txt", "dest.txt");13fs::rename("old.txt", "new.txt");14fs::remove("file.txt");1516// Iteration17for (const auto& entry : fs::directory_iterator(".")) {18 std::cout << entry.path() << "\n";19}2021// Info22auto status = fs::status("file.txt");23std::cout << fs::file_size("file.txt");24std::cout << fs::exists("file.txt");
Advantages over POSIX: