各タイプが保持できる値のサイズ以外に、の使用方法はで、size_t
とoff_t
の間の主な違いは何ですか?絶対サイズにはsize_t
タイプが使用されており、オフセットにはoff_t
タイプが使用されていますか?それともそれより深く行くのですか?size_tとoff_tの使用法の違いは何ですか?
大きなファイルの書き込みをmmap
で可能にするためにラッパークラスを作成しています。それらの引数に使用する最適なタイプを知りたいと思います。私が4GBを超えるファイルに書きたいと思えば、私はsize_tをすべて使いたいと思っていますが、それがベストプラクティスですか? (または私は特定の機能のために、いくつかのoff64_t
タイプを使用する必要があります?)
たとえばとして、私のwriteAt
機能を宣言する必要があります。
MMapWriter::writeAt(off64_t offset, const void* src, size_t size)
または
MMapWriter::writeAt(size_t offset, const void* src, size_t size)
スティーブさんありがとう、これは大きな助けになります。私は 'mmap'が2つの概念を橋渡ししているというリンクを作っていないと思います。 –
偉大な答えが、なぜ地獄でfread()とfwrite()は 'size_t'を取るのですか? –
また、size_tの署名された対応するものとしてssize_tがあることに注意してください。 – fuz