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

Escribir al final de un archivo ya existente C++

Estas en el tema de Escribir al final de un archivo ya existente C++ en el foro de C/C++ en Foros del Web. Buenas. Tengo un archivo de texto en el que tengo n lineas escritas. Quiero abrirlo y escribir una nueva linea en él sin sobreescribir las ...
  #1 (permalink)  
Antiguo 08/02/2010, 16:55
 
Fecha de Ingreso: julio-2009
Mensajes: 26
Antigüedad: 14 años, 9 meses
Puntos: 0
Escribir al final de un archivo ya existente C++

Buenas.
Tengo un archivo de texto en el que tengo n lineas escritas.
Quiero abrirlo y escribir una nueva linea en él sin sobreescribir las que ya estaban, preferentemente usando la biblioteca fstream.

En las FAQ solo habla de como escribir y cerrar un archivo.


O sea, tengo esto:
12345
678934
43255

Y quiero que luego de ejecutar el programa aparezca esto:
12345
678934
43255
666666

Probé abriendo el archivo de la siguiente forma:

std::fstream Archivo ("datos.txt", ios::ate);

Esto no funciona porque no puedo incluir esta biblioteca (ios). Solo puedo usar la std.

Ayuda!!!!!
Sé que es muy básico pero no encuentro como hacerlo.
Gracias al que pueda ayudarme!

Última edición por garap88; 08/02/2010 a las 17:58
  #2 (permalink)  
Antiguo 08/02/2010, 18:20
Avatar de genuine_carlosV2  
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Escribir al final de un archivo ya existente C++

Yo añadí esto y funcionó:
Código C++:
Ver original
  1. #include <fstream>
  2. #include <iostream>
  3. using namespace std;
  4. using std::ifstream;
  5. using std::ofstream;

Para situarte al final de un archivo, consulta como mover el puntero al final (me parece que las funciones que hacían esto se llamaban 'seek' o algo así).

Suerte
__________________
Carlos

Recoger datos es solo el primer paso hacia la sabiduría. Pero compartir información es el primer paso hacia la comunidad. - IBM
  #3 (permalink)  
Antiguo 09/02/2010, 08:23
 
Fecha de Ingreso: julio-2009
Mensajes: 26
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Escribir al final de un archivo ya existente C++

Ok, gracias por tu aporte. Voy a intentar añadirlas de esta forma.
Igualmente no tengo claro como usar funciones del tipo seek.

Alguien me puede ayudar por favor?
Es muy simple lo que quiero hacer.
Solo abrir el archivo y agregarle una linea al final con una variable int que tengo creada previamente en el código.

Gracias de antemeno!!
  #4 (permalink)  
Antiguo 09/02/2010, 08:55
Avatar de genuine_carlosV2  
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Escribir al final de un archivo ya existente C++

http://www.cplusplus.com/reference/i.../fstream/open/

Usa 'ate' como decías. Lo de las funciones 'seek' son si usas otra librería.

Saludos
__________________
Carlos

Recoger datos es solo el primer paso hacia la sabiduría. Pero compartir información es el primer paso hacia la comunidad. - IBM
  #5 (permalink)  
Antiguo 14/02/2010, 06:27
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Escribir al final de un archivo ya existente C++

Solo te faltaba especificar el namespace en el que esta ios que es std tambien:

Código:
std::fstream Archivo ("datos.txt", std::ios::ate);
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO

Etiquetas: escribir, existente, final
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 20:50.