Załaduj plik binarny za pomocą fstream

Próbuję załadować plik binarny za pomocąfstream w następujący sposób:

#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;
}

Ale to nie działa. W Ubuntu rozbił się zstd::bad_cast&nbsp;wyjątek. W MSVC ++ 2008 po prostu drukuje 0.

Wiem, że mógłbym użyćfile.read&nbsp;załadować plik, ale chcę użyć iteratora ioperator>>&nbsp;załadować części pliku. Czy to jest możliwe?Czemu&nbsp;powyższy kod nie działa?