Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/04/2009, 07:40
boli-sp
Invitado
 
Mensajes: n/a
Puntos:
problema con while y eof

Hola. Tengo un problema con un programa, concretamente con un while, que me crea un bucle infinito.

El problema es que lea de un archivo lo siguiente:
Código:
21
Juan Rodriguez de la Serna
-1
1823
1897
9

3
Tomas Suarez Rodriguez
606432415
1983
-1
1

89
Miguel Lopez Lopez
645231498
1990
1999
0
y lo muestre por pantalla.

Código PHP:
int main(int argcchar *argv[])
{
  
ifstream archivo;
  
archivo.open("datos.txt");
  
  
char ID_char[5];
  
int ID;
  
char nombre[50];
  
char telefono[9];
  
char nacimiento_char[5];
  
int nacimiento;
  
char defuncion_char[5];
  
int defuncion;
  
char hijos_char[3];
  
int hijos;
  
char linea_blanco[1];
  
  if(
archivo.fail())
    {
      
cout<< "error" << endl;
    }
  else
    {
      while(
archivo.eof()==0//aquí está el problema:'(
       
{
      
archivo.getline(ID_char,5);
      
ID=atol(ID_char);
       
      
archivo.getline(nombre,50);
   
      
archivo.getline(telefono,9);
       
      
archivo.getline(nacimiento_char,5);
      
nacimiento=atol(nacimiento_char);
      
      
archivo.getline(defuncion_char,5);
      
defuncion=atol(defuncion_char);

      
archivo.getline(hijos_char,3);
      
hijos=atol(hijos_char);

      
archivo.getline(linea_blanco,1);

      
cout << ID << endl << nombre << endl << telefono << endl << nacimiento << endl << defuncion << endl << hijos << endl << linea_blanco;
}
      
    }

  
archivo.close();
  return 
0;

Lo que hace es mostrarme ceros continuamente :S
Alguien puede ayudarme??