0

のベクトルを持つファイルを取得しました:

typedef struct {
    float fX; ///< position X
    float fY; ///< position Y
    int iSize; ///< Size of point   
} structParams;

しかし、ほぼ同じ構造体のベクトルに読みたいのですが、iSizeはありません

typedef struct {
    float fX; ///< position X eq. structParams.fX
    float fY; ///< position Y eq. structParams.fY
} structPositionParams;

これを同じように行うことはできますか

ifstream inStr("file.dat");
vector<structPositionParams>  oVector;
oVector.(numOfElements);
inStr.read((char*)&oVector[0], sizeof(structPositionParams) * numOfElements);
inStr.close();
4

1 に答える 1

0

データのストライドを利用する必要があります。標準ライブラリはストライド データの読み取りをサポートしていないため、ファイル全体を読み取り、そのデータからオブジェクトを作成する for ループを実行するか、for ループで全体を読み取り、sizeof(int)各オブジェクトの後にスキップします。

于 2012-08-16T13:31:25.797 に答える