У меня есть следующий код, и я хочу построить объект. Как я могу это сделать? Есть идеи? Класс имеет тип {sting, int, int}.Объект класса сборки из строки txt файла
код:
void StudentRepository::loadStudents(){
ifstream fl;
fl.open("studs.txt");
Student A();
if(fl.is_open()){
while(!(fl.eof())){
getline(???); //i dont knwo houw coudl i limit what i want were...
}
}
else{
cout<<"~~~ File couldn't be open! ~~~"<<endl;
}
}
Сохранить в файл funcntion:
void StudentRepository::saveStudents(){
ofstream fl;
fl.open("studs.txt");
if(fl.is_open()){
for(unsigned i=0; i<students.size(); i++){
fl<<students[i].getName();
fl<<",";
fl<<students[i].getID();
fl<<",";
fl<<students[i].getGroup();
fl<<","<<endl;
}
}
else{
cout<<"~~~ File couldn't be open! ~~~"<<endl;
}
Я попытался реализовать некоторые ограничения, но это не работает ... Как Кани это сделать?
Сначала я просто написал объект в файл, но это труднее, чтобы получить их обратно к объекту .... содержание файла:
maier ewew 123 232
tudor efsw 13 2323
Вы бы так любезны показать нам, что содержит 'studs.txt'? –
Файл является перезаписываемым файлом. я действительно сохраняю свою работу. –
Что вы подразумеваете под _limit_? ['std :: getline()'] (http://en.cppreference.com/w/cpp/string/basic_string/getline) будет считывать символ новой строки (и отбрасывать его). Не используйте 'while (! Fl.eof()) {}', немедленно проверяйте 'if (getline (...))' успешно. – hmjd