c++文件存取-流对象

来源:互联网 发布:java开发实战经典 免费 编辑:程序博客网 时间:2024/06/06 01:24
#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;}