すべてのデータが格納されている1つのファイル(1つのファイル=仮想ディスク)を持つような、いくつかの仮想ファイルシステムを試してみたい。たとえば、仮想ディスクを開いてファイルを書き込み、ファイルにデータを書き込み、ファイルからデータを読み込み、ファイルを開いてfseekなどを使用することができます。C++/C仮想/組み込み可能ファイルシステム[Cross Compatible(Library)]?
私はそれに使用できるライブラリはありますか?ライセンスなどは重要ではありません。私は借用しているので私のマシン上でテストしたいので、C++/Cで試してみたい。
ありがとうございます! :)
ライブラリがWindowsの場合はそれだけでもOKですが、多分私は2つのプロジェクトを作ることができるlinuxライブラリを見つけるでしょうか?
編集:私は私の質問は少し不明である知っているBRPocockへ 感謝。私が本当に欲しいのは、ライブラリがすでに提供しているVFS上で、ファイルの保存、ファイルの読み込み、およびファイル操作を実行できるライブラリです。そして、コースのマウント。私はC++でこの機能を提供するライブラリがあるのであれば、私は何をprefferだろうことは次のとおりです。
OpenVirtualDrive(const name[]);//
CloseVirtualDrive(handle);//
fopen(const name[], mode);//open file, return handle
fclose(handle);//close handle
ftemp(); //open file as temporary file
fremove(const name[]);//delete file
fwrite(handle, array[]);//write array to file
fread(handle, array[], size = sizeof array, pack = false);//read from file
fputchar(handle, value, utf8 = true);//put char into file
fgetchar(handle, value, utf8 = true);//read char from file, move pointer
fblockwrite(handle, const buffer[], size = sizeof buffer);//write block
fblockread(handle, buffer[], size = sizeof buffer);//read block, move pointer
fseek(handle, position = 0, seek_whence: whence = seek_start);//move pointer
flength(handle);//size of file
fexist(const pattern[]);//check if file exists
fmatch(name[], const pattern[], index = 0, size = sizeof name);//search for file
これは単なる擬似コードです:P
これはOSレベルのもののように聞こえ、おそらくC/C++コードを書く必要はありません。 「ディスクイメージ」ファイルをどこかに作成し、そのイメージを読み取り/書き込みディスクとしてマウントすることができます。 Linuxは 'loop' FSと' mount'コマンドでこれを行います。 Mac OS Xは「ディスクユーティリティ」に画像を作成し、Finderは画像を直接マウントできます(ダブルクリックするだけ)。 DunnoはWindowsが何をしているのですが、VirtualCloneDriveのようなものはすべてあなたが必要とするものだと賭けています。これを行うと、言語の標準ファイル操作で画像にアクセスできます。 –
同様の[質問](http://stackoverflow.com/questions/2336804/open-source-embedded-filesystem-or-single-file-virtual-filesystem-or-structure)いくつかのアイデアを提供するかもしれない... – Ioan