c++文件存取-流对象

#include <iostream>
#include <fstream>
#include <sstream>
#include <iomanip>
using namespace std;
#define space setw(15)

void write(const char *filename)
{
    ofstream out;
    out.open(filename,ios::app);
    if(out.is_open())
    {
        string name,id;
        int age;
        cout<<"请输入姓名、年龄、学号:"<<endl;
        cin>>name>>age>>id;
        out.setf(ios::left);
        out<<space<<name<<space<<age<<space<<id<<endl;
        out.close();
    }
}

void read(const char *filename)
{
    ifstream in;
    in.open(filename);
    if(in.is_open())
    {
        char line[100];
        stringstream ss;
        cout.setf(ios::left);
        cout<<space<<"name"<<space<<"age"<<space<<"id"<<endl;
        while(in.peek()!=EOF)
        {
            in.getline(line,100);
            string name;
            int age;
            string id;
            ss<<line;
            ss>>name>>age>>id;
            cout<<space<<name<<space<<age<<space<<id<<endl;
            ss.str("");
            ss.clear();
        }
        in.close();
    }
}
const char *filename = "d:\\students.txt";
int main()
{
    while(true)
    {
        int cmd;
        cout<<endl;
        cout<<"1、新增"<<endl;
        cout<<"2、查看"<<endl;
        cin>>cmd;
        switch(cmd)
        {
            case 1:write(filename);break;
            case 2:read(filename);break;
        }
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值