std::experimental::filesystem:: file_size
From cppreference.net
<
cpp
|
experimental
|
fs
|
Definido en el encabezado
<experimental/filesystem>
|
||
|
std::
uintmax_t
file_size
(
const
path
&
p
)
;
std:: uintmax_t file_size ( const path & p, error_code & ec ) ; |
(1) | (filesystem TS) |
Devuelve el tamaño del archivo regular
p
, determinado como si se leyera el miembro
st_size
de la estructura obtenida mediante POSIX
stat
(los enlaces simbólicos se siguen).
Intentar determinar el tamaño de un directorio (así como de cualquier otro archivo que no sea un archivo regular o un enlace simbólico) se considera un error.
La sobrecarga que no lanza excepciones devuelve - 1 en caso de errores.
Contenidos |
Parámetros
| p | - | ruta a examinar |
| ec | - | parámetro de salida para reporte de errores en la sobrecarga no lanzadora |
Valor de retorno
El tamaño del archivo, en bytes.
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
Ejemplo
Ejecutar este código
#include <experimental/filesystem> #include <fstream> #include <iostream> namespace fs = std::experimental::filesystem; int main() { fs::path p = fs::current_path() / "example.bin"; std::ofstream(p).put('a'); // create file of size 1 std::cout << "File size = " << fs::file_size(p) << '\n'; fs::remove(p); try { fs::file_size("/dev"); // attempt to get size of a directory } catch (fs::filesystem_error& e) { std::cout << e.what() << '\n'; } }
Salida posible:
File size = 1 filesystem error: cannot get file size: Is a directory [/dev]
Véase también
|
cambia el tamaño de un archivo regular mediante truncamiento o relleno con ceros
(función) |
|
|
determina el espacio libre disponible en el sistema de archivos
(función) |