記事"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ファイルの末尾が正しいかどうかをチェックした。しかし、この解決策は万能ではなく、~1000個のファイルのうち、いくつかのファイルが誤って中間行で切断され、正常に解凍されたものとして受け入れられたが、その中のデータは完全ではなかったようだ。

関数の新バージョン:

新しいものは黄色で ハイライトされている。

トリミングされたデータはほとんど誰にも必要とされないので、開発者は配列もゼロにリセットすべきかもしれない。そして、見えにくいエラーにつながるかもしれない。

そして、正しく解凍できない大きなファイルへのリンクもある。私はそれらのサイズを0に設定し、呼び出し側のプログラムはこの0によってエラーが発生し、別のアーカイバを使用する必要があることを理解します。
おそらく、0の代わりに何か良い方法を思いつくでしょう。

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

 
ありがとう。ファイルをアップロードしたので、調べてみるよ。