c++初学者,一个程序看不懂,请大神帮我解释一下每句话的含义,谢谢!

2025-03-23 11:35:11
推荐回答(1个)
回答1:

#include //导入iostream库
#include //导入fstream库
using namespace std; //声明导入std命名空间中的所有成员
void WriteFile(char file_name[],double a[5][8]) //声明一个无返回值的WriteFile函数
{fstream out(file_name,ios::out|ios::binary); //以二进制写方式打开file_name指定的文件(并覆盖)。
out.write((char*)&a[0][0],5*8*sizeof(double)); //向这个文件中写入double数组a中的所有数据。
out.close();} //关闭文件流。

doubleReadElement(char file_name[],int i,int j) //声明一个返回double的函数
{fstream in(file_name,ios::in|ios::binary); //以读方式打开文件
file_namedouble el; //声明一个double的el。
in.seekg((i*8+j)*sizeof(double),ios::beg); //将文件读取指针指向i,j指定的位置。
in.read((char*)&el,1*sizeof(double)); //从这个位置读取一个double数据到el中。
in.close(); //关闭文件流
return el; //返回读取的数据
}
void main(){
int i,j;
double b[5][8];
double a[5][8];
char file_name[10];
cout<<"输入文件名:";
cin>>file_name;
cout<<"输入40个数据:";
for(i=0;i<5;i++)
for(j=0;j<8;j++)
cin>>a[i][j];
WriteFile(file_name,a);
for(i=0;i<5;i++)
{cout< for(j=0;j<8;j++)
{b[i][j]=ReadElement(file_name,i,j);
cout< }
}
}

主程序的逻辑很简单,就不解释了。