Я читаю свои структуры из файла, и я хотел бы добавить их в вектор structs. Вот как это выглядит и работает:Вектор structs: добавление элементов C++
typedef struct
{
int ID;
string name;
string surname;
int points;
}
Student;
int main()
{
ifstream theFile("test.txt");
std::vector<Student*> students;
Student* s = new Student();
while(theFile >> s->ID >> s->name >> s->surname >> s->points)
{
studenti.push_back(s); // here I would like to add this struct s from a file
}
// here I want to print each struct's values on the screen, but the output is always ONLY last struct N times, and not all of them, each only once
std::vector<Student*>::const_iterator it;
for(it = students.begin(); it != students.end(); it+=1)
{
std::cout << (*it)->ID <<" " << (*it)->name << " " << (*it)->surname <<" " << (*it)->points <<endl;
}
Что я должен сделать, чтобы я мог добавить свои структур к вектору, и распечатать их, как правило (это печать только проверка на самом деле, если структуры являются правильно загружены в вектор)?
Почему о '' typedef'? –
И какой формат файла? Каждое имя ученика состоит из двух слов? –
Обратите внимание, что у вас нет вектора structs, у вас есть вектор указателей. Все это указывает на тот же объект ... – juanchopanza