Никак не могу понять почему, если хочу узнать длину файла ~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 (подробнее тут).
Комментариев нет:
Отправить комментарий