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


 


Tema destacado: Análisis del vídeo del hackeo al Sindicato de los Mossos de Esquadra


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, YreX-DwX)
| | |-+  error en lectura de un txt en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: error en lectura de un txt en c++  (Leído 195 veces)
phantomphiniss

Desconectado Desconectado

Mensajes: 1



Ver Perfil
error en lectura de un txt en c++
« en: 1 Mayo 2020, 01:56 »

Buenas

tengo duda en el código ya que me esta marcando que el identificador getline no esta definido, a continuación coloco el código:

Código
  1. void reglas()
  2. {
  3.    ifstream archivo;
  4.    string leer;
  5.    archivo.open("reglas.txt", ios::in);
  6.    while (!archivo.eof())
  7.    {
  8.  
  9.        getline(archivo,leer);
  10.        cout << leer << endl;
  11.    }
  12.    archivo.close();
  13. }

Mod: Los códigos van entre etiquetas GeSHi.


« Última modificación: 1 Mayo 2020, 02:02 por #!drvy » En línea

shindigam
@XSStringManolo
Colaborador
***
Conectado Conectado

Mensajes: 1.948


Turn off the red ligth


Ver Perfil WWW
Re: error en lectura de un txt en c++
« Respuesta #1 en: 1 Mayo 2020, 02:25 »

Pon el error exacto. getline está definido en la biblioteca std string. #include <string>


En línea

RayR

Desconectado Desconectado

Mensajes: 127


Ver Perfil
Re: error en lectura de un txt en c++
« Respuesta #2 en: 2 Mayo 2020, 00:40 »

Pon algo más de código. En especial los #include y las directivas o declaraciones using que tengas.

Al margen de eso, leer archivos de la manera en que lo estás haciendo está mal. eof() sólo es true después de que se ha intentado leer más allá del fin del archivo. Por lo tanto, tu último getline puede fallar, lo cual hará que la variable leer no tenga un valor válido. De hecho, esto sucederá siempre que tengas un archivo de texto que termine con un caracter de nueva línea.

Aquí una forma correcta de leerlo:

Código
  1. while (getline(archivo, leer)) {
  2.    cout << leer << endl;
  3. }

De esa manera, si getline no fue capaz de leer datos (ya sea porque se llegó al fin del archivo o por otra razón), salimos del bucle.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
foto lectura, y lectura veloz, scanning y otros metodos de lectura rapida....
Foro Libre
Kase 3 10,919 Último mensaje 4 Febrero 2014, 08:47
por camilo_
Error en lectura de Fichero
Java
Afsoon 8 5,279 Último mensaje 14 Septiembre 2010, 18:26
por Debci
Error en lectura de archivos
PHP
Zeroql 1 1,005 Último mensaje 17 Junio 2011, 19:47
por Zeroql
Error en lectura de datos con String y Int
Java
Chentul 1 759 Último mensaje 4 Mayo 2014, 10:46
por Zoik
Lectura de un txt, error en rutas con espacio
Scripting
CAEL20 2 754 Último mensaje 14 Marzo 2018, 00:11
por CAEL20
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines