Никак не получается вычитать данные из бинарного файла.
1.
uint32_t vv[4];
ifstream fdi("my_file", ios::binary | ios::in);
fdi.read((char *) vv, 16);
И cout << vv[0]; выдает фигню. (Что должен выдать, я знаю).
2.
vector<uint32_t> vv1(4);
ifstream fdi("my_file", ios::binary | ios::in);
vector<uint32_t>::iterator pV = vv1.begin();
fdi.read((char *) pV, 16);
Вообще ошибка компиляции:
error: invalid cast from type ‘__gnu_cxx::__normal_iterator<unsigned int*, std::vector<unsigned int, std
::allocator<unsigned int> > >’ to type ‘char*’
(g++ 4.2.4)
Хотя тож самое в QT - все ОК.
Для QT
QVector<quint32> vv;
QVector<quint32>::iterator pV = vv.begin();
file.setFileName(my_file);
file.open(QIODevice::ReadOnly);
file.read( (char *) pV, 16 );
И как в "чистых" плюсах правильно и максимально быстро
прочитать бинарные данные ?
Форум —
Development



