std::filesystem::space_info
De cppreference.com
< cpp | filesystem
<tbody>
</tbody>
| Definido en el archivo de encabezado <filesystem>
|
||
struct space_info { std::uintmax_t capacity; std::uintmax_t free; std::uintmax_t available; }; |
(desde C++17) | |
Representa la información del sistema de archivos como se determina por filesystem::space.
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) |
Funciones no miembro
(C++20) |
Compara dos objetos space_info. (función) |
operator==(std::filesystem::space_info)
<tbody> </tbody> friend bool 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==.
Ejemplo
Ejecuta este código
#include <iostream>
#include <filesystem>
#include <cstdint>
void imprimir_info_espacio(auto const& dirs, int width = 14)
{
std::cout << std::left;
for (const auto s : {"Capacidad", "Libre", "Disponible", "Dir"})
std::cout << "│ " << std::setw(width) << s << ' ';
std::cout << '\n';
std::error_code ec;
for (auto const& 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()
{
const auto 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
Véase también
(C++17) |
Determina el espacio libre disponible en el sistema de archivos. (función) |