0

次のようなファイルにデータをシリアル化しています。

vector<ByteFeature>::iterator it = nByteFeatures.Content().begin();
for (;it != nByteFeatures.Content().end(); ++it)
{
    for ( int i = 0; i < 52; i++)
    {
        fwrite( &it->Features[i], sizeof(unsigned char), 1, outfile);
    }
}   

ただし、ファイルに含まれるバイト数を事前に知りたいです。この数値を実際のデータの前に書きたいと思います。状況によっては、このデータのロードをスキップする必要があり、スキップする必要があるバイト数を知る必要があるためです。

ディスクにはさらに多くのデータが書き込まれるため、実際のデータの直前にバイト数を書き込むことができることが重要です。この番号を別のファイルなどに保存したくありません。

 .Content.size() would only tell me how many "items" are in there, but not the actual size of the data.

ありがとうございました。

4

2 に答える 2