Я создаю движок для 3D-игр и создавал свои собственные файлы, чтобы не читать данные все время на fbx, потому что он очень медленный.
Моя проблема - чтение данных из моего собственного файла,Вот изображение фрагмента кода, который доставляет мне проблемы.
std::vector<uint> nums;
index = new uint[num_index];
uint num = 0;
for (uint i = 0; i < num_index; ++i) {
memcpy(&num, cursor, sizeof(uint));
index[i] = num;
nums.push_back(num);
cursor += sizeof(uint);
}
Когда я читаю свой собственный файл, я сохраняю данные в буфере, называемом курсором, который является char*
. Проблема, с которой я столкнулся, заключается в том, что индекс переменной просто сохраняет мне число, тогда как векторные числа сохраняют все правильно, поэтому я знаю, что с индексом переменной что-то не так, но я не знаю, почему это происходит.
Я тоже пытался, но у меня все та же проблема, я просто получаю первое значение.
index = new uint[num_index];
bytes = sizeof(uint) * num_index;
memcpy(index, cursor, bytes);
cursor += bytes;