我有以下课程,我希望从文本文件构建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;
}
}