//
// Created by 刘彪 on 2020/3/4.
//重载流运算符 P290 (输入输出流) todo debug
#include <iostream>
#include <fstream>
using namespace std;
const int N=2;
class Student{
int no;
char name[10];
public:
friend ostream& operator<<(ostream&,Student &);
friend istream& operator>>(istream&,Student &);
};
ostream& operator<< (ostream& output,Student & s){
output<<" 学号:"<<s.no<<",姓名:"<<s.name<<endl;
return output;
}
istream& operator>> (istream& input,Student & s){
cout<<"学号和姓名:";
input>>s.no>>s.name;
return input;
}
int main(){
int i;
Student st[N],s;
fstream iofile;
iofile.open("stud.dat",ios::in|ios::out);
for(i=0;i<N;++i){
cout<<" 输入第"<<i+1<<"个学生的信息";
cin>>st[i];
}
for(i=0;i<N;i++){
iofile.write((char *)&st[i],sizeof(st[i]));
}
iofile.seekp(0,ios::beg);
cout<<"输出所有学生信息:"<<endl;
for(i=0;i<N;i++){
iofile.read((char *)&s,sizeof(s));
cout<<s;
}
iofile.close();
return 0;
}