セカンダリ メモリ (ハードディスク) にクアッドツリー データ構造 (または単にツリーと言いましょう) を構築しようとしています。
そのための C++ プログラムがあり、fopen を使用してファイルを作成します。また、テッセラルコーディングを使用して、各セルを対応するコードで名前が付けられたファイルに保存し、ディスク上の1つのディレクトリに保存しています。
問題は、約 1,100 個のファイルを作成した後、fopen が NULL を返すだけで、新しいファイルの作成を停止することです。そのディレクトリに追加のファイルを手動で作成できますが、C++ を使用すると、それ以上のファイルを作成できません。
(ウィキペディアから) 32,000 である ext3 ファイルシステムの inode の最大制限については知っていますが、私のものはそれよりもはるかに少なく、ディスク上に手動でファイルを作成できることにも注意してください。fopenを介していないだけです。
また、非常に動的な四分木をディスクに保存する最良の方法に関するアイデアを本当に感謝しています(ノードを別々のファイルに配置する必要があり、四分木の深さは50である可能性があります)。
ネストされたディレクトリを使用することも 1 つのアイデアですが、ファイル システム上のリンクをたどってファイルにアクセスするため、パフォーマンスが低下すると思います。
ありがとう、ニマ