uintmax_t file_size(const path& p);
uintmax_t file_size(const path& p, error_code& ec) noexcept;
If exists(p) is false, an error is reported ([fs.err.report]).
Otherwise, if is_regular_file(p), the size in bytes of the file p resolves to, determined as if by the value of the POSIX stat structure member st_size obtained as if by POSIX stat().
The signature with argument ec returns static_cast<uintmax_t>(-1) if an error occurs.