Вы должны потоком напрямую в целые. Если вам нужно прочитать «токены», тогда используйте std :: string, но чтение в массив char всегда опасно.
Вероятно, у вас также должен быть код, который создаст объект Flight из потока, хотя мне не нравится использование std::istream& operator>>(std::istream&, Flight& )
, я считаю его "навязчивым" и нерасширяемым. Я предпочитаю фабрики для этого. Однако давайте все равно напишем эту функцию:
std::istream& operator>>(std::istream& is, Flight& flight )
{
int flightnum, x, y;
if( is >> flightnum >> x >> y )
{
flight.setFlightNum( flightnum );
flight.setStartX( x );
flight.setStartY( y );
}
return is;
}
А теперь:
std::vector< Flight > vec;
while( myReadFile )
{
Flight flight;
if( myReadFile >> flight )
vec.push_back( flight );
}