有人能告诉我这段代码有什么问题吗?
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 是双精度类型。我能够输出文本文件(“out_txt”),但是我在编写二进制文件(“Out_file”)时遇到问题。奇怪的是,在某些情况下它会起作用(取决于变量 co_ord_X、co_ord_y、co_ord_y 和 Intensity 的值),而在其他情况下则不起作用。有人可以告诉我有什么问题吗?快把我逼疯了。
问候,查尔斯。