/*从键盘输入10个学生信息(学生信息包括学号、姓名、性别、成绩)存放在磁盘文件f1.dat中,
然后把f1.dat中的数据复制到f2.dat文件中并在屏幕显示出学生数据;*/
#include<iostream>
#include<fstream>
using namespace std;
class student
{
private: string id;
string name ;
string sex;
string chengji;
public :
student(){};
void setid(){
cin>>id;
}
string getid()
{
cout<<"id为 "<<id<< endl;
return id;
}
void setname(){
cin>>name;;
}
string getname()
{
cout<<"name为 "<<name<<endl;
return name;
}
void setsex(){
cin>>sex;
}
string getsex()
{
cout<<"sex为 "<<sex<< endl;
return sex;
}
void setchengji(){
cin>>chengji;
}
string getchengji()
{
cout<<"chengji为 "<<chengji<<endl;
return chengji;
}
};
int main()
{
student s[2];
int i;
cout<<" **请输入两个同学的信息**"<<endl;
for(i=0;i<2;i++){
cout<<"输入id ";
s[i].setid();
s[i].getid();
cout<<"输入名字 ";
s[i].setname();
s[i].getname();
cout<<"输入性别 ";
s[i].setsex();
s[i].getsex();
cout<<"输入成绩";
s[i].setchengji();
s[i].getchengji();
}
fstream f1("D:\\C++\\123\\io.dat",ios::out|ios::in|ios::binary);
fstream f2("D:\\C++\\123\\io.dat",ios::out|ios::in|ios::binary);
if(f1){
for(i=0;i<2;i++)
{
f1.write((char*)&s[i],sizeof(s[i]));
}
f1.seekg(ios_base::beg);
}
else {
cout<<"文件1写入失败"<<endl;
}
if(f2){
for(i=0;i<2;i++){
f1.read((char*)&s[i],sizeof(s[i]));
cout<<"id "<<s[i].getid()<<"name "<<s[i].getname()<<"sex "<<"\t"<<s[i].getsex()<<"chengji "<<s[i].getchengji()<<endl;
f2.write((char*)&s[i],sizeof(s[i]));
}
}
else{
cout<<"文件2写入失败"<<endl;
}
f1.close();
f2.close();
return 0;
}
4.1 I/O流
最新推荐文章于 2022-06-12 20:07:10 发布