1

我有以下课程,我希望从文本文件构建Repository初始向量。students对象是类型的{string, int, int},我正在考虑使用换行符作为对象之间的分隔符。是否可以从文件构造/初始化私有向量?

这是我Repository班级的标题:

class StudentRepository{
private:
    vector <Student> students;
public:
    vector <Student> getAll();

    ~StudentRepository();
};

PS:欢迎对我的问题或有用教程的链接提出任何建议。

编辑:
这是我得到的,但我在加载对象时遇到问题,因为它们看起来像这样,如何将字符串与整数分隔?:

Foo bar 100 23
Bar Foo 101 42

代码:

void StudentRepository::loadStudents(){
ifstream fl;
fl.open("studs.txt");
Student A();
if(fl.is_open()){
    while(!(fl.eof())){
        getline(A.);/// i connot manage to delimite parts of the line.
    }
}
else{
    cout<<"~~~ File couldn't be open! ~~~"<<endl;
}
}

void StudentRepository::saveStudents(){
    ofstream fl;
    fl.open("studs.txt");
    if(fl.is_open()){
        for(int i=0; i<students.size(); i++){
            fl<<students[i];
        }
    }
    else{
        cout<<"~~~ File couldn't be open! ~~~"<<endl;
    }
}
4

0 回答 0