Загрузите бинарный файл, используя fstream

Я пытаюсь загрузить двоичный файл, используяfstream следующим образом:

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

Но это не работает. В Ubuntu он разбился сstd::bad_cast исключение. В MSVC ++ 2008 он просто печатает 0.

Я знаю, что я мог бы использоватьfile.read загрузить файл, но я хочу использовать итератор иoperator>> загрузить части файла. Это возможно?Why приведенный выше код не работает?

Ответы на вопрос(4)

Ваш ответ на вопрос