The file or empty directory identified by the path
pis deleted as if by the POSIX
remove
. Symlinks are not followed (symlink is removed, not its target).
3,4)Deletes the contents of
p(if it is a directory) and the contents of all its subdirectories, recursively, then deletes
pitself as if by repeatedly applying the POSIX
remove
. Symlinks are not followed (symlink is removed, not its target).
[edit] Parameters p - path to delete ec - out-parameter for error reporting in the non-throwing overload. [edit] Return value1,2) true if the file was deleted, false if it did not exist. The overload that takes error_code&
argument returns false on errors.
Returns the number of files and directories that were deleted (which may be zero if
pdid not exist to begin with). The overload that takes
error_code&
argument returns
static_cast<std::uintmax_t>(-1)on error.
[edit] ExceptionsAny overload not marked noexcept
may throw std::bad_alloc if memory allocation fails.
Throws
std::filesystem::filesystem_erroron underlying OS API errors, constructed with
pas the first path argument and the OS error code as the error code argument.
2,4)Sets a
std::error_code¶meter to the OS API error code if an OS API call fails, and executes
ec.clear()if no errors occur.
[edit] NotesOn POSIX systems, this function typically calls unlink
and rmdir
as needed, on Windows DeleteFileW
and RemoveDirectoryW
.
If p did not exist, this function returns false and does not report an error.
[edit] ExamplePossible output:
remove(): true remove(): false remove_all(): 2 files or directories[edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR Applied to Behavior as published Correct behavior LWG 3014 C++17error_code
overload of remove_all
marked noexcept but can allocate memory noexcept removed [edit] See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4