Может кто-нибудь сказать мне, что не так с этим кодом?
Out_file = new ofstream("ABC.dat", std::ios::binary);
for (int i = 0; i < Elem->entries(); i++)
{
co_ord_X = (*Elem)[i]->Getx(); co_ord_Y = (*Elem)[i]->Gety(); co_ord_Z = (*Elem)[i]->Getz();
Intensity = (*Elem)[i]->GetInt();
ofstream out_txt( "z2_out.txt",ios::app);
out_txt<<co_ord_X<<" "<<co_ord_Y<<" "<<co_ord_Z <<" "<<Intensity<<endl;
out_txt.close();
Out_file->write(reinterpret_cast<char*>(&co_ord_X), sizeof(double));
Out_file->write(reinterpret_cast<char*>(&co_ord_Y), sizeof(double));
Out_file->write(reinterpret_cast<char*>(&co_ord_Z), sizeof(double));
Out_file->write(reinterpret_cast<char*>(&Intensity), sizeof(double));
}
Переменная Elem является указателем на массив. co_ord_X, co_ord_y, co_ord_y и Intensity имеют тип double. Я могу вывести текстовый файл ("out_txt"), однако у меня проблемы с записью двоичного файла ("Out_file"). Странно, что в некоторых случаях это работает (в зависимости от значений переменных co_ord_X, co_ord_y, co_ord_y и Intensity), а в других случаях - нет. Может кто-нибудь сказать, пожалуйста, что не так? Сводит меня с ума.
С уважением,
Чарльз.