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

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

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

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

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

c

file

io

filesize

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