次のクラスがあり、初期ベクトルをテキスト ファイルから作成しRepository
たいと考えています。students
オブジェクトはタイプのもので{string, int, int}
、オブジェクト間の区切り文字として改行を使用することを考えています。プライベートベクターをファイルから構築/初期化することは可能ですか?
これが私のRepository
クラスのヘッダーです:
class StudentRepository{
private:
vector <Student> students;
public:
vector <Student> getAll();
~StudentRepository();
};
PS: 私の質問に関するアドバイスや、役に立つチュートリアルへのリンクは大歓迎です。
編集:
これは私が得たものですが、オブジェクトが次のように見えるため、オブジェクトの読み込みに問題があります。文字列を int から区切るにはどうすればよいですか?:
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;
}
}