Согласно этой странице википедии, размер отдельного файла на Win10 может увеличиться до 8 ПБ с NTFS. И все же структура Stat определяется как
struct stat
{
    _dev_t         st_dev;
    _ino_t         st_ino;
    unsigned short st_mode;
    short          st_nlink;
    short          st_uid;
    short          st_gid;
    _dev_t         st_rdev;
    _off_t         st_size;
    time_t         st_atime;
    time_t         st_mtime;
    time_t         st_ctime;
};
где off_t - это тип, определенный как long. Это означает ограничение примерно в 4 ГБ. Согласно этой странице, описывающей стекопоток, даже для 32-разрядных ОС размер файла может быть больше его.
Если я не ошибаюсь, как можно использовать struct stat для надежного получения размера файла. Кроме того, что произойдет, если размер файла превысит ограничение типа long?
