Чтение файла набора данных (шестнадцатеричные значения) в блок памяти

У меня есть блок кода, который пытается прочитать данные из набора данных в случайно выделенный блок памяти. Я не знаю, что именно находится внутри набора данных, но они получают доступ к значениям матрицы (шестнадцатеричные значения) и помещают в область памяти. И это работает отлично!

for (unsigned int i=0; i<header->numImg; ++i)
{
const unsigned int cur_proj = i; // absolute projection number

// read mx
double* const pMatx = MatrixBuffers + cur_proj * 12;
ifData.read((char*) (pMatx), 12 * sizeof(double));
}

где MatrixBuffers

double** MatrixBuffers = new double* [header.numImg];
MatrixBuffers[0] = new double[header.numImg * 12];
for (unsigned int i=1; i<header.glb_numImg; ++i) {
MatrixBuffers[i] = MatrixBuffers[0] + i * 12;
}

Как вы видите, MatrixBuffers — это случайно распределенная память, скажем, начальный адрес которой равен 6000. Мой вопрос заключается в том, как узнать, откуда именно данные считываются из набора данных объемом 2,5 ГБ (из какого места)? Это от 6000 или какой-то другой адрес? Как я могу контролировать схему доступа к набору данных?
*****редактирует**********
Чтобы было понятно, есть операция чтения до этого и одна после этого. Предыдущий начинается с 1-го байта до 12-го байта. Если приведенный выше код должен начинаться с 13-го байта, как сообщить компилятору, что начальное значение pMatx составляет 13-й байт в наборе данных?
Любая помощь приветствуется. Заранее спасибо!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector