How do I use filesystem in C++17?

The C++17 standard introduced the filesystem library, which provides facilities for performing operations on file systems and their components, such as paths, regular files, and directories. This library makes it easier to navigate and manage files and directories directly through C++ code.

To use the filesystem library in C++17, you need to include the header #include <filesystem>. You can then use functions and types defined in the std::filesystem namespace, such as std::filesystem::path, std::filesystem::exists, std::filesystem::create_directory, and many more.

Example Usage

#include <iostream> #include <filesystem> int main() { std::filesystem::path dir{"example_directory"}; // Create a directory if (std::filesystem::create_directory(dir)) { std::cout << "Directory created: " << dir << std::endl; } else { std::cout << "Directory already exists or could not be created." << std::endl; } // Check if the directory exists if (std::filesystem::exists(dir)) { std::cout << "Directory exists: " << dir << std::endl; } return 0; }

C++ C++17 filesystem file system management std::filesystem paths directories