Hola estoy haciendo un pequeño programa que debe leer de la entrada estandar una serie de datos para almacenarlos en un vector. La entrada estandar la redirijo desde un fichero, es decir la llamada al ejecutable la hago de la siguiente forma: ./nombre_ejecutable < fichero.txt (uso linux) el problema esta en que solo me lee el primer dato del fichero y llevo toda la tarde mirando y no se que podra ser...
este es el codigo del programa principal la clase Piloto tiene implementado tanto el operador de entrada como el de salida
#include"Pilotos.h"
#include<algorithm>
#include<iostream>
#include<iterator>
#include<vector>
using namespace std;
int main(){
vector<piloto> pilotos;
istream_iterator<piloto> piloto_in(cin);
copy(piloto_in, istream_iterator<piloto>(), back_inserter(pilotos));
for(int i = 0; i<pilotos.size(); i++){
cout << pilotos[i] << "**********" <<endl;
}
return 0;
}