编程实现:将一个实数f=55.5678和一个整型数组a[5]的数据写到磁盘文件TEXT.dat中,然后再读回到另一个实型变量ff及另一个整型数组b[5]中。
要求: (1)对整型数组a[5]采用初始化方式,对一个实数赋初值f=55.5678。
(2)建立一个磁盘文件TEXT.dat。将上述初始化的数据写入该文件。
(3)重新打开文件TEXT.dat,将该文件中的数据读入到一个实型变量ff和一个整型数组b[5]中。
(4)输出实型变量ff(精度为0.2)和数组b[5]的内容。
这是我写的代码:
程序代码:
#include<iostream> using namespace std; #define null 0 void main() { FILE* fp; float f,ff; int a[5],b[5],i; if((fp=fopen("C:\\Users\\lemon\\Desktop\\desktop\\TEXT.dat","rb+"))==null) { cout<<"file can not open!"; exit(0); } cin>>f; for(i=0;i<5;i++) cin>>a[i]; if(fwrite(&f,sizeof(float),1,fp)!=1) cout<<"file write error"; for(i=0;i<5;i++) if(fwrite(&a[i],sizeof(int),1,fp)!=1) cout<<"file write error"; fread(&ff,sizeof(float),1,fp); for(i=0;i<5;i++) if(fread(&b[i],sizeof(int),1,fp)!=1) cout<<"file write error"; cout<<ff; for(i=0;i<5;i++) cout<<b[i]; fclose(fp); fp=null; }为什么实现不了啊????
(精度为0.2)是什么意思???