重载流运算符 P290 (输入输出流) todo debug

//
// 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;
}

全部评论

相关推荐

05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务