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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Grabar salto de linea en un fichero.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Grabar salto de linea en un fichero.  (Leído 1,770 veces)
gastongaston

Desconectado Desconectado

Mensajes: 10



Ver Perfil
Grabar salto de linea en un fichero.
« en: 1 Octubre 2018, 13:54 pm »

Hola!
Les quiero hacer una consulta de novato total:
estoy grabando en un fichero ciertos datos, y quiero que para cada uno, exista un salto de linea. Pero no puedo conseguirlo.
Mi intento para que funcione es el siguiente:

void ingresar(int referencia, Persona per) {
   ofstream escritura;
   escritura.open("agenda.txt", ios::app);
   if (escritura.fail()) {
      cout << "\nError al intentar abrir ESCRITURA\n";
   }

   escritura << referencia << '\n';
   escritura << per.getNombre() << '\n';
   escritura << per.getApellido() << '\n';
        escritura.close();
}


void leer() {
   ifstream lectura;
   lectura.open("agenda.txt", ios::in);
   if (lectura.fail()) {
      cout << "\nERROR EN LECtURA DE ARCHIVO\n";
   }

   string texto;
   while (!lectura.eof()){
      getline(lectura, texto);
      cout << texto;
   }
   lectura.close();
}

Graba "bien" pero todo junto, sin espacios.
Alguna idea?

Muchas gracias.


En línea

Perdon por tan poco.
EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.042



Ver Perfil
Re: Grabar salto de linea en un fichero.
« Respuesta #1 en: 1 Octubre 2018, 15:37 pm »

Saludos,

- Intenta utilizar std::endl en lugar de '\n':

Código
  1. escritura << referencia << endl;

- O también puede ser: '\r\n' ...


En línea

gastongaston

Desconectado Desconectado

Mensajes: 10



Ver Perfil
Re: Grabar salto de linea en un fichero.
« Respuesta #2 en: 1 Octubre 2018, 15:44 pm »

Gracias por responder.

Lo que estoy observando es que cuando abro el archivo desde mi escritorio (agenda.txt), se graba linea por linea.
Pero cuando los quiero "leer" desde mi funcion leer(), me los muestra todos juntos.

Esto tiene sentido?
O deberia hacer algo más de lo que, por supuesto, no me estoy enterando?

Muchas gracias!
En línea

Perdon por tan poco.
EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.042



Ver Perfil
Re: Grabar salto de linea en un fichero.
« Respuesta #3 en: 2 Octubre 2018, 04:36 am »

- Pues estás mostrando cada línea leída una detrás de otra sin agregar el salto.

Código
  1.   string texto;
  2.   while (!lectura.eof()){
  3.      getline(lectura, texto);
  4.      cout << texto; // Una detrás de otra
  5.   }

Código
  1.   string texto;
  2.   while (!lectura.eof()){
  3.      getline(lectura, texto);
  4.      cout << texto << endl; // Corregido (endl o '\n' o '\r\n')
  5.   }
En línea

gastongaston

Desconectado Desconectado

Mensajes: 10



Ver Perfil
Re: Grabar salto de linea en un fichero.
« Respuesta #4 en: 3 Octubre 2018, 16:41 pm »

muchas gracias, gente!

todo perfecto ahora.
En línea

Perdon por tan poco.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
salto de línea en ficheros
Programación Visual Basic
AGRIPI 1 2,034 Último mensaje 25 Mayo 2006, 15:06 pm
por sch3m4
Salto de linea en Batch
Scripting
Jatt 2 13,080 Último mensaje 5 Enero 2007, 18:55 pm
por Jatt
Solucionado [python] Salto de linea en lectura de fichero
Scripting
tonilogar 6 17,384 Último mensaje 26 Diciembre 2010, 01:28 am
por tonilogar
Problemas con salto de lineas al leer un fichero
Programación C/C++
petrusqui 4 8,505 Último mensaje 4 Abril 2012, 20:11 pm
por cassiel83
Salto de línea
Desarrollo Web
bgnumis 2 3,847 Último mensaje 25 Junio 2018, 19:49 pm
por JUCA
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines