A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../error/error_code/../../filesystem/remove.html below:

std::filesystem::remove, std::filesystem::remove_all - cppreference.com

1,2)

The file or empty directory identified by the path

p

is 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

p

itself 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 value

1,2) true if the file was deleted, false if it did not exist. The overload that takes error_code& argument returns false on errors.

3,4)

Returns the number of files and directories that were deleted (which may be zero if

p

did not exist to begin with). The overload that takes

error_code&

argument returns

static_cast<std::uintmax_t>(-1)

on error.

[edit] Exceptions

Any overload not marked noexcept may throw std::bad_alloc if memory allocation fails.

1,3)

Throws

std::filesystem::filesystem_error

on underlying OS API errors, constructed with

p

as the first path argument and the OS error code as the error code argument.

2,4)

Sets a

std::error_code&

parameter to the OS API error code if an OS API call fails, and executes

ec.clear()

if no errors occur.

[edit] Notes

On 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] Example

Possible 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++17 error_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