This post is also available in: Deutsch (German)
To remove a file or directory (for example my-directory
) use remove_all
from the C++17 filesystem library:
remove_all("my-directory");
This will remove my-directory
and all its sub-directories and files recursively.
Full example:
#include <experimental/filesystem> using namespace std::experimental::filesystem; int main() { remove_all("my-directory"); }
In case you are using GCC, you need to compile the file like this:
g++ -o delete-cpp17 delete-cpp17.cpp -lstdc++fs
You need to link the stdc++fs
library so the functions from the C++17 filesystem library are available to your program.
If you just want to remove a file and don’t want to risk deleting an entire directory tree, use remove
instead of remove_all
or see our previous post How to delete file using C++17 filesystem library