ブロックデバイス (HDD など) を直接開くときに、何か特別なことをしたり、考慮したりする必要がありますか?
通常のfopen
and/or std::fstream
(およびそれらに関連するtell
/ seek
/ read
/write
関数) または特別な関数/クラスを使用する必要がありますか?
それらは真にランダムなシークを許可していますか、それとも一度にブロック全体を読み取ることに厳密な制限がありますか? 前者の場合、(「通常の」ファイルシステムでのファイルの同じ種類の読み取りと比較して) ブロック単位の読み取りを行わないと、パフォーマンスが大幅に低下しますか?
これは OS-X で、近い将来には他の POSIX ベースの OS (BSD カーネルではなく Linux カーネルを使用) で、stl
利用可能な場合は主にクラスを使用します。