std::filesystem::space_info
De cppreference.com
< cpp | filesystem
Definido en el archivo de encabezado <filesystem> | ||
struct space_info { std::uintmax_t capacity; | (desde C++17) | |
Representa la información del sistema de archivos como se determina por filesystem::space
.
Contenido |
[editar]Objetos miembro
capacity | El tamaño total del sistema de archivos, en bytes. (objeto miembro público) |
free | El espacio libre en el sistema de archivos, en bytes. (objeto miembro público) |
available | El espacio libre disponible a un proceso no privilegiado (puede ser igual o menor que free ). (objeto miembro público) |
[editar]Funciones no miembro
operator== (C++20) | Compara dos objetos space_info . (función) |
operator==(std::filesystem::space_info)
friendbool operator==(const space_info&, const space_info&)=default; | (desde C++20) | |
Verifica si capacity
, free
y available
de ambos argumentos son respectivamente iguales.
Esta función no es visible a una búsqueda no calificada o calificada, y puede encontrarse solamente mediante la búsqueda dependiente de argumento cuando std::filesystem::space_info
es una clase asociada de los argumentos.
El operador !=
se sintetiza a partir de operator==
.
[editar]Ejemplo
Ejecuta este código
#include <iostream>#include <filesystem>#include <cstdint> void imprimir_info_espacio(autoconst& dirs, int width =14){std::cout<<std::left;for(constauto s :{"Capacidad", "Libre", "Disponible", "Dir"})std::cout<<"│ "<<std::setw(width)<< s <<' ';std::cout<<'\n';std::error_code ec;for(autoconst& dir : dirs){const std::filesystem::space_info si =std::filesystem::space(dir, ec);std::cout<<"│ "<<std::setw(width)<<static_cast<std::intmax_t>(si.capacity)<<' '<<"│ "<<std::setw(width)<<static_cast<std::intmax_t>(si.free)<<' '<<"│ "<<std::setw(width)<<static_cast<std::intmax_t>(si.available)<<' '<<"│ "<< dir <<'\n';}} int main(){constauto dirs ={"/dev/null", "/tmp", "/home", "/null"}; imprimir_info_espacio(dirs);}
Posible salida:
│ Capacidad │ Libre │ Disponible │ Dir │ 8342851584 │ 8342851584 │ 8342851584 │ /dev/null │ 12884901888 │ 3045265408 │ 3045265408 │ /tmp │ 250321567744 │ 37623181312 │ 25152159744 │ /home │ -1 │ -1 │ -1 │ /null
[editar]Véase también
(C++17) | Determina el espacio libre disponible en el sistema de archivos. (función) |