C/Visual C - Base de datos

 
Vista:

Base de datos

Publicado por Ricardo (3 intervenciones) el 12/11/2010 01:45:52
Hola...

Tengo una duda, estoy aprendiendo a grabar datos en .txt; no obstante, no se como grabar en una nueva linea sin borrar la que ya tengo en el archivo; esto ciclando el programa...

De antemano, Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Base de datos

Publicado por Carlos (15 intervenciones) el 13/11/2010 14:54:18
Debes abrir el archivo en modo append, mira la ayuda de la funcion open() o fopen() segun la que utilices, el segundo argumento de fopen() indica la forma en que quieres abrir el archivo, escritura(w), escritura y crearlo si no existe(w+), para adjuntar lineas sin eliminar el contenido anterior debes usar las opciones a y a+, si usas open() bajo linux debes colocar en el argumento flags el valor O_APPEND, si tienes mas valores los puedes combinar con el operador OR a nivel de bit (|). Si lo estas haciendo sobre windows, no me acuerdo muy bien como era, pero si miras la ayuda de la funcion open() o fopen() encontraras la solucion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Base de datos

Publicado por Ricardo (3 intervenciones) el 15/11/2010 11:53:31
Muchas gracias Carlos, tu respuesta dio en el clavo.

Anexo codigo para futuras referencias...

// fstream::open
#include <fstream>
#include<iostream>
using namespace std;

int main ()
{
char ch1[20];
int a=1;
fstream fst;
fst.open ("NewTest.txt", fstream::in | fstream::out | fstream::app);
while (a<=5)
{
cin.getline(ch1,20);
fst<<ch1<<endl;
++a;
}
fst.close();

return 0;
}

Saludos
RC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar