Programación General > C/C++
Lectura desde entrada estándar con iteradores
(1/1)
meana:
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
--- Código: C++ --- #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;}
meana:
he estado mirando y ahoramismo creo que el problema solo puede estar en el copy que me mete los datos al vector o en el operador de entrada de la clase piloto...
este es el operador de entrada
--- Código: C++ --- istream & operator >> (istream &in, piloto &p){ getline(in, p.nombre); in >> p.numero; in.ignore(); in >> p.moto >> p.pais; return in;}
Navegación
Ir a la versión completa