注册 登录
编程论坛 C++教室

c++中结构体向量怎样存入文件和在文件中读取

q470594667 发布于 2013-10-26 13:48, 1144 次点击
如下代码怎么操作?求大神啊

#include<vector>    //声明vector模板所在头文件
#include<fstream>    //文件流类
#include<iomanip>
#include<string>    //使用字符串处理函数
#include<stdlib.h>    //函数abort()所在头文件
using namespace std;

struct Passager    //乘客结构体
{
    char name[20];    //乘客姓名
    char id[20];    //证件号码
    int seat;    //座位号
};

struct Flight    //航班结构体
{
    char no[20];    //航班号
    char destination[20];    //到达港
    int Maxseats;    //总座位数
    int Restseats;    //余票额
    int takeoff;    //起飞时间,格式(小时+分钟)
    int land;    //降落时间,格式(小时+分钟)
    vector<Passager> Plist;    //乘客列表
};

class FSystem
{
private:
    vector<Flight> Flist;    //航班列表
public:
    FSystem();    //构造函数
    ~FSystem();    //析构函数
};
11 回复
#2
blueskiner2013-10-26 13:54
书本上的?
#3
q4705946672013-10-26 13:57
回复 2楼 blueskiner
不是,就因为在书本找不到,才来求救
#4
blueskiner2013-10-26 14:12
你先尝试写下啊,实在不行再给你贴代码
还有,我觉得新手如果不理解STL的用法的情况下,会很多问题不知道所以然。例如vector<Flight>这个成员,存这个玩意要做的功夫还是挺多的。

[ 本帖最后由 blueskiner 于 2013-10-26 14:22 编辑 ]
#5
q4705946672013-10-26 14:24
回复 4楼 blueskiner
给点思路来,是不是要运算符重载什么的
#6
blueskiner2013-10-26 14:26
是啊,使用容器,来存里面的对象,需要重写类的构造,重载赋值,C++文件使用,容器里元素的操作等。
#7
rchunjiang2013-10-26 15:44
你是想要怎么存入文件,我之前做有限元的时候有写过从文件读取模型数据和往文件写结果数据的代码,有兴趣可以联系我。
#8
q4705946672013-10-26 16:30
终于做出来了,该死的VC6.0编译器就是渣,重载>>两次竟然给我出错,在VS上就可以

[ 本帖最后由 q470594667 于 2013-10-26 16:33 编辑 ]
#9
blueskiner2013-10-26 16:36
做出来就好,代码写严谨些就不会有问题的了。
#10
q4705946672013-10-26 23:27
回复 9楼 blueskiner
用VS2012运行可以,但是好像只能存文件,不能读取啊,求救

[ 本帖最后由 q470594667 于 2013-10-28 13:16 编辑 ]
#11
blueskiner2013-10-27 07:48
用ifstream
#12
q4705946672013-10-27 12:50
回复 11楼 blueskiner
我知道为什么读取不了了,因为我储存数据时那些数据是一整行放在一起,可能在读取时会发生错误,而我把每个数据储存后换行下次就能准确读取了(应该是这样吧,我也不清楚原理
1