В настоящее время я создаю пользовательский двоичный файл для огромного списка данных, который будет представлять некоторый угол движений в игре. Хотя я бегу в стену, пытаясь найти способ написать все данные, а затем прочесть их в огромный массив или вектор.Чтение списка объектов из двоичного файла
Вот как я построил мой FileFormat:
class TestFormat {
public:
float x;
float y;
float z;
};
И тестовый код для записи и чтения:
int main()
{
TestFormat test_1, temp;
test_1.x = 4.6531;
test_1.y = 4.7213;
test_1.z = 6.1375;
// Write
ofstream ofs("test.bin", ios::binary);
ofs.write((char *)&test_1, sizeof(test_1));
ofs.close();
// Read
ifstream ifs("test.bin", ios::binary);
ifs.read((char *)&temp, sizeof(temp));
ifs.close();
cout << temp.x << endl;
}
Чтобы продлить этот код я могу просто написать дополнительные объекты в тот же файл , но я не уверен, как загрузить эти объекты в массив после этого.
Вы только что написали, затем прочитали, * one *. Так сделайте это для более чем одного? – WhozCraig
Подсказка: если объект занимает M последовательных байтов, то и массив из N таких объектов занимает N × M последовательных байтов. –
Я понимаю, что вы говорите. Но как я могу использовать функцию 'read' для чтения нескольких объектов? – JavaCake