Laden Sie die Binärdatei mit fstream

Ich versuche, eine Binärdatei mit zu ladenfstream auf die folgende Weise:

#include <iostream>
#include <fstream>
#include <iterator>
#include <vector>

using namespace std;

int main()
{
    basic_fstream<uint32_t> file( "somefile.dat", ios::in|ios::binary );

    vector<uint32_t> buffer;
    buffer.assign( istream_iterator<uint32_t, uint32_t>( file ), istream_iterator<uint32_t, uint32_t>() );

    cout << buffer.size() << endl;

    return 0;
}

Aber es geht nicht. In Ubuntu stürzte es mit abstd::bad_cast Ausnahme. In MSVC ++ 2008 wird nur 0 ausgegeben.

Ich weiß, dass ich es gebrauchen könntefile.read Datei laden, aber ich möchte Iterator und verwendenoperator>> um Teile der Datei zu laden. Ist das möglich?Warum Der obige Code funktioniert nicht?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage