Дарова народ,есть вопрос.
Язык - С++
У меня есть текстовый файл в котором содержится информация допустим о студентах. ФИО,предметы и оценки - всё записываеться в ряд для одного студента и через пробел .Пример:
Тимошенко Валерий Петрович Физика 5 3 4
Мормуль Дмитрий Васильевич Математика 4 4 4
.....
Как считать с этого файла данные и занести в структуру
Struct Student{... ... ...}
и потом нужно будет обращаться к этому массиву векторов и выводить некоторые данные на экран.
Так как считать этот файлик?
Answers & Comments
Вот к примеру простая структура.
struct stud
{
string name;
string surname;
string second_name;
string lesson;
int mark[3];
};
Далее мы с помощью библиотеки fstream создаём экземпляр класса "ifstream" и соединяем его с файлом.
Пример: ifstream fin("myfile.txt);
Потом в цикле считываем инфу с открытого файла.
Вот пример для моей структуры.
student m; //создал переменную с типом моей структуры.
while(!fin.eof())
{
fin >> m.surname; //считываю фамилию в структуру
fin >> m.name;
fin >> m.second_name;
fin >> lesson;
//а теперь оценки в инт, это уже будет сделать чуть сложнее.
//для этого считываем инфу в чаровый буфер и через atoi переводим
fin >> temp;
m.mark[0]=atoi(temp);
fin >> temp;
m.mark[1]=atoi(temp);
fin >> temp;
m.mark[2]=atoi(temp);
}
Что-то на подобии этого, я считывал инфу в свою структуру, но вы просто считывайте её в ваш вектор и всё.
Обязательно в условии цикла поставить "!название вашего объекта.eof()".
Ну и в конце закрыть файл методом .close();
Прикрепил скрин с маленьким примером, ну и кинул как это работает с массивами. (с векторами это тоже отлично работает, просто мне лень)
while(fin.eof())
{
fin >> f.name;
fin >> f.surname;
my.push_back(f);
}