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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  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 2,103 veces)
phantomphiniss

Desconectado Desconectado

Mensajes: 1



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

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 am por #!drvy » En línea

shindigam
@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.397


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 am »

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


En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

RayR

Desconectado Desconectado

Mensajes: 239


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

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 12,667 Último mensaje 4 Febrero 2014, 08:47 am
por camilo_
[MOD] Error lectura disco duro
Dudas Generales
peluu 4 2,449 Último mensaje 6 Mayo 2010, 17:12 pm
por __Alvaro 2015__
Error en lectura de Fichero
Java
Afsoon 8 7,182 Último mensaje 14 Septiembre 2010, 18:26 pm
por Debci
Error en lectura de archivos
PHP
Zeroql 1 1,712 Último mensaje 17 Junio 2011, 19:47 pm
por Zeroql
Error en lectura de datos con String y Int
Java
Chentul 1 1,569 Último mensaje 4 Mayo 2014, 10:46 am
por Zoik
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines