C++如何格式化读写dat文件

dat文件是一行有5个数据,比如分别是L01 F02 BEIJING 0 100,希望能把5个数据分别读到5个相应的数组(本来是想用ifstream.read读到结构体然后再给数组赋值,但是会出错),而且为什么用ofstream.write写dat文件会出现乱码,应该怎样解决。谢谢:D

void Ticket::Send()
{
Hold ff;
ff.FlightNum="F05";
ff.LineNum="L04";
ff.Target="Beijing";
ff.Haveorder=0;
ff.Rest=100;
ofstream os("Airline.dat",ios_base::out|ios_base::binary);
os.write(reinterpret_cast(&ff),sizeof(ff));
os.close();

ifstream is("Airline.dat",ios_base::in|ios_base::binary);
if(is)
{
Hold fe;
is.read(reinterpret_cast(&fe),sizeof(fe));
cout< }
else
cout<<"error"<}

比如这一段,写进dat文件就成了乱码了,应如何写入,如何逐个数据读出?
去掉ios_base::binary试试。
C++如何格式化读写dat文件
← 上一篇: 下一篇: →