次のようなファイルにデータをシリアル化しています。
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.
ありがとうございました。