c++初学者,一个程序看不懂,请大神帮我解释一下每句话的含义,谢谢!
编写两个函数,函数的原型分别是:voidWriteFile(charfile_name[],doublea[5][8]);doubleReadElement(charfi...
编写两个函数,函数的原型分别是:
void WriteFile(charfile_name[], double a[5][8]);
doubleReadElement(char file_name[],int i, int j);
第一个函数的功能是将指定数组写入到指定二进制文件内,第二个函数是从前一个函数写入的文件中读出元素。并编写主函数验证所写的函数。
#include<iostream>
#include<fstream>
using namespacestd;
void WriteFile(charfile_name[],double a[5][8])
{fstreamout(file_name,ios::out|ios::binary);
out.write((char*)&a[0][0],5*8*sizeof(double));
out.close();}
doubleReadElement(char file_name[],int i,int j)
{
fstreamin(file_name,ios::in|ios::binary);
double el;
in.seekg((i*8+j)*sizeof(double),ios::beg);
in.read((char*)&el,1*sizeof(double));
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<<endl;
for(j=0;j<8;j++)
{b[i][j]=ReadElement(file_name,i,j);
cout<<b[i][j]<<'';
}
}
} 展开
void WriteFile(charfile_name[], double a[5][8]);
doubleReadElement(char file_name[],int i, int j);
第一个函数的功能是将指定数组写入到指定二进制文件内,第二个函数是从前一个函数写入的文件中读出元素。并编写主函数验证所写的函数。
#include<iostream>
#include<fstream>
using namespacestd;
void WriteFile(charfile_name[],double a[5][8])
{fstreamout(file_name,ios::out|ios::binary);
out.write((char*)&a[0][0],5*8*sizeof(double));
out.close();}
doubleReadElement(char file_name[],int i,int j)
{
fstreamin(file_name,ios::in|ios::binary);
double el;
in.seekg((i*8+j)*sizeof(double),ios::beg);
in.read((char*)&el,1*sizeof(double));
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<<endl;
for(j=0;j<8;j++)
{b[i][j]=ReadElement(file_name,i,j);
cout<<b[i][j]<<'';
}
}
} 展开
1个回答
展开全部
#include<iostream> //导入iostream库
#include<fstream> //导入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<<endl;
for(j=0;j<8;j++)
{b[i][j]=ReadElement(file_name,i,j);
cout<<b[i][j]<<'';
}
}
}
主程序的逻辑很简单,就不解释了。
#include<fstream> //导入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<<endl;
for(j=0;j<8;j++)
{b[i][j]=ReadElement(file_name,i,j);
cout<<b[i][j]<<'';
}
}
}
主程序的逻辑很简单,就不解释了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询