二进制文件C:\abc.dat中读出10个float型存放在数组a中

如题所述

#include <iostream>
#include <fstream>
using namespace std;

void main()
{
//创建写入文件
float x[]={1.2f,1.3f,1.4f,1.5f,1.6f,1.7f,1.8f,1.9f,2.1f,2.2f};
ofstream fout;
fout.open("c:abc.dat",ios::out|ios::binary);
for(int j=0;j<10;j++)
{
fout.write((char*)&x[j],sizeof x[j]);
cout<<x[j]<<endl;
}
fout.close();

//读取文件
ifstream fin;
fin.open("c:abc.dat",ios::in|ios::out|ios::binary);
fin.seekg(0);
if (!fin.is_open())
{
cout<<"文件读取失败...\n";
exit(EXIT_FAILURE);
}
float a[10];
for(int i=0;i<10;i++)
{
fin.read((char*)&a,sizeof a);
cout<<a[i]<<endl;
}
fin.close();
}
温馨提示:答案为网友推荐,仅供参考
相似回答