Никак не получается вычитать данные из бинарного файла.
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 );
И как в "чистых" плюсах правильно и максимально быстро
прочитать бинарные данные ?
Похожие темы
- Форум C++, std::function, шаблоны, что я делаю не так? (2013)
- Форум форматированный вывод сообщений об ошибках gcc (2015)
- Форум Функция read() в С++ (2011)
- Форум Пара вопросов по QT 4.4 (2009)
- Форум [boost] проблемы с bind (2010)
- Форум Python + C++ (2010)
- Форум Буфферизированное чтение бинарного файла на C++ (2015)
- Форум debug простенького приложения (С++) (2010)
- Форум Не считывает файл до конца? (2019)
- Форум Драйвер для дешифрования устройства (2017)