Checking the properties of an existing file or directory
The filesystem
library provides functions and types that enable developers to check for the existence of a filesystem object, such as a file or directory, its properties, such as the type (file, directory, symbolic link, and so on), the last write time, permissions, and others. In this recipe, we will look at what these types and functions are and how they can be used.
Getting ready
Before continuing with this recipe, you should read the Working with filesystem paths recipe.
For the following code samples, we will use the namespace alias fs
for the std::filesystem
 namespace. The filesystem
library is available in the header with the same name, <filesystem>
. Also, we will use the variables shown here, path
for the path of a file and err
for receiving potential operating system error codes from the filesystem APIs:
   auto path = fs::current_path() / "main.cpp";    auto err = std::error_code{};
How to do it...
Use the following library...