Обсуждение статьи "Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек" - страница 10

 
Forester #:

Разобрался с файлами (распакованными) превышающими некий объем (для разных файлов от 1,7Гб до 2136507776 - т.е. почти до MAX_INT=2147483647, а массивы не могут иметь больше элементов) и которые на выходе получаются обрезанными. Оказалось, что все они отмечены, как ошибочные при:

Т.е. выходное значение = 0.
Но CZIP это не контролирует. Сделал обнуление размера выходного массива.
Так в моих функциям могу со 100% гарантией определять, что файл успешно распакован.
До этого проверял правильный конец JSON файла }\r\n - но это решение не универсально и кажется несколько файлов из ~1000 были случайно обрезаны по промежуточной строке и были приняты. как успешно распакованные, но в них данные - не полные.

Новый вариант функции:

Желтым выделено новое.

Возможно разработчикам стоит тоже обнулять массив, ведь обрезанные данные  вряд ли нужны кому-то. И могут привести к трудно уловимым ошибкам.

И еще ссылка на файл большого размера, который не может нормально распаковаться. Я для них устанавливаю размер в 0, и потом вызывающая программа по этому 0, понимает, что тут ошибка и надо использовать другой архиватор.
Возможно вы вместо 0, что-то получше придумаете.

https://quote-saver.bycsi.com/orderbook/linear/BTCUSDT/2025-05-09_BTCUSDT_ob500.data.zip

 
Спасибо. Файл загрузил, поизучаю.