Страницы

Поиск по вопросам

пятница, 29 марта 2019 г.

Длина большого файла через функцию filelength

Никак не могу понять почему, если хочу узнать длину файла ~3GB в байтах вот так:
FILE * f; errno_t err = fopen_s(&f, "a.iso", "rb"); if (f == NULL) { return 0; } unsigned long int size = filelength(fileno(f)); cout << size << endl;
то мне выдаёт максимально возможное число для типа unsigned long int 4 294 967 295. С маленькими файлами всё нормально (правда я там int использую). Функция filelength объявлена в .
Подскажите, пожалуйста, что тут неправильно.


Ответ

Ну, если файл большой :), то для этого есть, например, _filelengthi64 (подробнее тут).

Комментариев нет:

Отправить комментарий