Решение Мэтта должно работать, за исключением того, что это C ++ вместо C, и первоначальное сообщение не должно быть необходимым.
unsigned long fsize(char* file)
{
FILE * f = fopen(file, "r");
fseek(f, 0, SEEK_END);
unsigned long len = (unsigned long)ftell(f);
fclose(f);
return len;
}
Исправил вашу скобку для вас тоже. ;)
Обновление: на самом деле это не лучшее решение. Он ограничен 4 ГБ файлами в Windows и, вероятно, медленнее, чем просто вызов конкретной платформы, такой как GetFileSizeEx
или stat64
.