Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda lectura de un fichero

Estas en el tema de Duda lectura de un fichero en el foro de C/C++ en Foros del Web. Hola buenas, Estoy realizando un programa que lea un fichero del siguiente tipo: "Nombre Peso Nombre Peso ...." El problema es que cuando me lo ...
  #1 (permalink)  
Antiguo 13/01/2013, 06:20
 
Fecha de Ingreso: diciembre-2012
Mensajes: 11
Antigüedad: 11 años, 4 meses
Puntos: 0
Duda lectura de un fichero

Hola buenas,
Estoy realizando un programa que lea un fichero del siguiente tipo:
"Nombre Peso
Nombre Peso
...."

El problema es que cuando me lo muestra por pantalla me lo muestra de la siguiente manera:
"Nombre
Peso
Nombre
Peso
...."

¿Que tendría que cambiar para que funcionase correctamente?

Código:
int main ()
{

    ifstream fichero1("gente.txt");
    string linea;
    string nombre;
    int peso;

    if (fichero1.good())
    {
        cout << "Fichero abierto" << endl;

        while (!fichero1.eof())
        {
            fichero1 >> linea;
            cout << linea << endl;
        }
    }


}

Última edición por fernandez6; 13/01/2013 a las 07:07
  #2 (permalink)  
Antiguo 13/01/2013, 09:54
 
Fecha de Ingreso: diciembre-2010
Mensajes: 77
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Duda lectura de un fichero

Cuando haces:

Código C++:
Ver original
  1. fichero1 >> linea;

El stream deja de leer al encontrarse con un espacio en blanco, el que hay entre (Nombre y Peso), para leer una linea entera, podrias hacer otro loop para que lea asta encontrar un fin de linea, pero la mejor forma es esta:

Código C++:
Ver original
  1. while (!fichero1.eof())
  2. {
  3.     getline(fichero1, linea);
  4.     cout << linea << endl;
  5. }
__________________
Convert JSON to CSV
  #3 (permalink)  
Antiguo 13/01/2013, 10:20
 
Fecha de Ingreso: diciembre-2012
Mensajes: 11
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Duda lectura de un fichero

Muchas gracias!! Ahora estoy con otro problema que me surge, a la hora de ordenar los datos por orden de peso (de mayor a menor) ¿como se podría hacer?
No veo una forma clara.

Etiquetas: fichero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:29.