из которых дата рождения:
struct Birthday
{
int day;
int mouth;
int year;
};
struct Student
{
string name;
...
struct Birthday birthday;
};
Данные в структуру Student читаются построчно из файла (в файле все данные указаны через пробел) и каждая строка заносится в сстрим:
studentsDB.open(filename);
string line;
while (getline(studentsDB, line))
{
struct Student student;
istringstream ss(line);
Данные в структуру заносит нормально (через ss >> student.name >> student.surname >> ...) пока не встретит дату рождения (а она указана в файле как dd.mm.yyyy)
Как вообще можно распарсить эту строку и по пробелу и (где надо) по точке, что бы при достижении даты рождения они вносились как student.birthday.dd и т.д.)?
Посмотри в сторону std::get_time()
http://en.cppreference.com/w/cpp/io/manip/get_time
Используй boost::datetime
Обсуждают сегодня