Namespaces
Variants

std::experimental::filesystem:: remove, std::experimental::filesystem:: remove_all

From cppreference.net
Definido en el encabezado <experimental/filesystem>
bool remove ( const path & p ) ;
bool remove ( const path & p, error_code & ec ) ;
(1) (filesystem TS)
std:: uintmax_t remove_all ( const path & p ) ;
std:: uintmax_t remove_all ( const path & p, error_code & ec ) ;
(2) (filesystem TS)
1) El archivo o directorio vacío identificado por la ruta p se elimina como si fuera mediante la función POSIX remove . Los enlaces simbólicos no se siguen (se elimina el enlace simbólico, no su destino).
2) Elimina el contenido de p (si es un directorio) y el contenido de todos sus subdirectorios, recursivamente, luego elimina p mismo como si se aplicara repetidamente la función POSIX remove . Los enlaces simbólicos no se siguen (se elimina el enlace simbólico, no su destino).

Contenidos

Parámetros

p - ruta a eliminar
ec - parámetro de salida para reporte de errores en la sobrecarga que no lanza excepciones

Valor de retorno

1) true si el archivo fue eliminado, false si no existía. La sobrecarga que toma el argumento error_code & devuelve false en caso de errores.
2) Devuelve el número de archivos y directorios que fueron eliminados (que puede ser cero si p no existía inicialmente). La sobrecarga que toma el argumento error_code & devuelve static_cast < std:: uintmax_t > ( - 1 ) en caso de error.

Excepciones

The overload that does not take an error_code & parameter throws filesystem_error on underlying OS API errors, constructed with p as the first argument and the OS error code as the error code argument. std:: bad_alloc may be thrown if memory allocation fails. The overload taking an error_code & parameter sets it to the OS API error code if an OS API call fails, and executes ec. clear ( ) if no errors occur. This overload has
noexcept especificación:
noexcept

Notas

En sistemas POSIX, esta función normalmente llama a unlink y rmdir según sea necesario, mientras que en Windows llama a RemoveDirectoryW y DeleteFileW .

Ejemplo

#include <cstdint>
#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::filesystem;
int main()
{
    fs::path dir = fs::temp_directory_path();
    fs::create_directories(dir / "abcdef/example");
    std::uintmax_t n = fs::remove_all(dir / "abcdef");
    std::cout << "Deleted " << n << " files or directories\n";
}

Salida posible:

Deleted 2 files or directories

Véase también

elimina un archivo
(función)