文章 "单纯使用 MQL5 语言处理 ZIP 档案" - 页 10

 

还有一个链接指向一个无法正常解压的大文件。我将它们的大小设置为 0,然后调用程序就会通过这个 0 理解到出现了错误,有必要使用另一个存档器。
也许你能想出更好的办法来代替 0。

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

 
Forester #:

我整理了超过一定容量(不同文件的容量从 1.7Gb 到 2136507776 - 即几乎达到 MAX_INT=2147483647,数组不能有更多元素)且在输出时被切断的文件(已解压缩)。结果发现,所有这些文件都被标记为错误文件:


但 CZIP 无法控制这一点。我将输出数组的大小清零。
因此,在我的函数中,我可以 100% 保证文件已成功解压缩。
在此之前,我检查了 JSON 文件的正确结尾 }\r\n - 但这一解决方案并不通用,在 ~1000 个文件中,似乎有几个文件被中间行意外截断,并被视为成功解压缩,但其中的数据并不完整。

新版本的函数:

新版本以黄色 标出。

也许开发人员还应该将数组重置为零,因为几乎没有人需要经过修剪的数据。而且可能会导致难以察觉的错误。

还有一个链接指向一个无法正常解压的大文件。我把它们的大小设置为 0,然后调用程序就会通过这个 0 理解到出现了错误,有必要使用另一个存档器。
也许你能想到更好的办法来代替 0。

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

 
谢谢。我已经上传了文件,我会研究一下。