Не используйте int
. Файлы размером более 2 гигабайт обычно являются грязными в настоящее время
Не используйте unsigned int
. Файлы размером более 4 гигабайт являются общими, поскольку некоторые немного менее распространенные загрязнения
. IIRC стандартная библиотека определяет off_t
как неподписанное 64-битное целое число, что и должно использовать каждый. Мы можем переопределить это до 128 бит за несколько лет, когда мы начнем работать с 16 файлами exabyte.
Если вы находитесь в окнах, вы должны использовать GetFileSizeEx - это на самом деле использует подписанное 64-битное целое число, поэтому они начнут сталкиваться с проблемами с 8 файлами exabyte. Глупый Microsoft! : -)