elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  PROBLEMA CON getline
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PROBLEMA CON getline  (Leído 2,316 veces)
Realser86

Desconectado Desconectado

Mensajes: 12


Ver Perfil
PROBLEMA CON getline
« en: 24 Octubre 2017, 23:06 pm »

Buenas Tardes

Estoy usando un codigo para leer una linea especifica de un archivo.txt, el problema es que cuando intento leer una linea el contador empieza a contar desde la segunda linea del archivo,
ejemplo

este es mi archivo de texto

cada linea esta definida con las siguientes variables

archivo>>dia>>nombre_comp>>nombre_pro>>cant_com;

1 diego mouse 3
2 raul teclado 1
2 pedro teclado 2
2 luis USB3 2
5 juan USB3 10
7 lucho mouse 7

cuando le digo al codigo que me lea e imprima el nombre_comp de la linea 0 me imprime raul y no diego como debería ser  , y asi sucesivamente tomando como linea 0 la segunda linea de mi archivo

adjunto el código como ejemplo cuando le pido que me imprima el nombre_comp de la linea 1

if (archivo.is_open())
{
     string linea;
    int contador=0;

    while(getline(archivo,linea))
    {
       archivo>>dia>>nombre_comp>>nombre_pro>>cant_com;

       if(1==contador)
       {
          
          cout<<nombre_comp<<endl;
       }
       contador++;
    }
        archivo.close();   
}   
      
   
}

con este codigo le pido que me imprma en este caso la linea 1 que seria raul pero me imprime pedro, es decir nunca me toma en cuenta la primer linea del archivo que es diego, que debería ser linea 0, si no que empieza a contar la linea 0 desde raul.

1 diego mouse 3
2 raul teclado 1
2 pedro teclado 2
2 luis USB3 2
5 juan USB3 10
7 lucho mouse 7

 



En línea

Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: PROBLEMA CON getline
« Respuesta #1 en: 25 Octubre 2017, 09:06 am »

No crees que el problema podria estar en

Código
  1.  if(1==contador)
  2.       {
  3.  
  4.          cout<<nombre_comp<<endl;
  5.       }
  6.       contador++;
  7.  

prueba a cambiarlo a

Código
  1.  if(0==contador)
  2.       {
  3.  
  4.          cout<<nombre_comp<<endl;
  5.       }
  6.       contador++;
  7.  


En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
Realser86

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: PROBLEMA CON getline
« Respuesta #2 en: 25 Octubre 2017, 21:33 pm »

igua si lo tomo como (0==contador), no me lee la primer linea nunca.
Empieza desde la segunda, es decir el codigo lee asi

                    1 diego mouse 3
 linea 0         2 raul teclado 1
 linea 1         2 pedro teclado 2
 linea 2         2 luis USB3 2
 linea 3         5 juan USB3 10
 linea 4         7 lucho mouse 7
    .
    .
    .
 linea n
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PROBLEMA con la funcion miembro getline() e ignore()
Programación C/C++
.:BlackCoder:. 9 7,428 Último mensaje 27 Julio 2010, 04:29 am
por leogtz
Problema con el delimitador de getline [SOLUCIONADO]
Programación C/C++
anonimo12121 3 5,122 Último mensaje 1 Abril 2013, 18:13 pm
por anonimo12121
Problema con cin.getline
Programación C/C++
erest0r 8 6,564 Último mensaje 24 Agosto 2013, 03:33 am
por erest0r
Realmente extraño problema con cin.getline
Programación C/C++
Omar_2013 5 2,546 Último mensaje 11 Abril 2014, 05:19 am
por rir3760
Problema con cin.getline
Programación C/C++
RiCo9297 0 1,427 Último mensaje 16 Diciembre 2016, 20:26 pm
por RiCo9297
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines