Как определить размер файла в C?

Не используйте int. Файлы размером files более 2 гигабайт в наши дни filesize распространены как грязь

Не c используйте unsigned int. Файлы размером filesize более 4 гигабайт встречаются io часто, как немного менее files распространенная грязь

Стандартная filesize библиотека IIRC определяет input-output off_t как беззнаковое 64-битное io целое число, которое следует c использовать всем. Мы можем file переопределить это значение file до 128 бит через несколько files лет, когда у нас начнут висеть input-output 16-экзабайтные файлы.

Если io вы используете Windows, вам c следует использовать GetFileSizeEx — на file самом деле он использует file 64-битное целое число со io знаком, поэтому они начнут io сталкиваться с проблемами filesize с файлами размером 8 эксабайт. Глупый filesize Майкрософт! :-)

c

file

io

filesize

2022-11-16T00:13:39+00:00