Я написал этот код для создания двоичного файла с числами с плавающей запятой, но в конце я получаю ошибку ошибки сегментации. Он записывает в файл 9000 чисел с плавающей запятой, но при чтении читает только 4096 из них. Когда я запускаю исполняемый файл несколько раз, считываемое число байтов переключается между 4096, 8192 и 9000. Но у меня всегда есть ошибка seg ...
float *realRef = new float [length]; //then filling it out...
ofstream out("blah.bin", ios::out | ios::binary);
out.write((char *) &realRef, length*sizeof(float)); //length is 9000
out.close();
ifstream in("blah.bin", ios::in | ios::binary);
float *readTest= new float[length];
in.seekg(0, ios::end);
size_t size=in.tellg(); // printing size shows 4096 BUT it should be 9000
in.seekg(0, ios::beg);
in.read((char *) &readTest, size);
cout << in.gcount() << " bytes read." << endl;
in.close();