ios::app (añadir al final de un fichero).

22/05/2004 - 22:14 por opotonil | Informe spam
Hola.

Estoy intentando añadir al final de un fichero pero no lo
consigo. El codigo que tengo es:

fstream fichero;
fichero.open("grupos.dat", ios::app | ios::binary);
fichero.write((char*)&auxiliar, sizeof(grupos));

Pero no me hace nada, en cambio si utilizo ios::out en
vez de ios::app me sobrescribe los datos del fichero asi
que escribir escribe bien, pero lo de añadir na de na.
Estoy utilizando using namespace std; por si tiene algo
que ver.

¿Alguna sugerencia? Gracias y salu2.

Preguntas similare

Leer las respuestas

#1 Isidro Muñoz
22/05/2004 - 23:29 | Informe spam
En fstream no sé, pero en fopen y fwrite, para añadir tiene que existir el
fichero, si no existe no añade.


Saludos.
Isidro.


"opotonil" escribió en el mensaje
news:10a7e01c44039$639047d0$
Hola.

Estoy intentando añadir al final de un fichero pero no lo
consigo. El codigo que tengo es:

fstream fichero;
fichero.open("grupos.dat", ios::app | ios::binary);
fichero.write((char*)&auxiliar, sizeof(grupos));
Respuesta Responder a este mensaje
#2 opotonil
23/05/2004 - 01:56 | Informe spam
Si, ya me habia asegurado de que el fichero existia. Y
finalmente lo consegui abriendo el fichero para escritura
y lectura y posicionandome al final del mismo:

fstream fichero;
fichero.open("grupos.dat", ios::out | ios::in |
ios::binary);
fichero.seekg(0, ios::end);
fichero.write((char*)&auxiliar, sizeof(grupos));

Y tambien me respondieron en otro grupo de noticias
(es.comp.lenguajes.c++) lo siguiente que no he probado:

Las equivalencias de ios_base::openmode a los modos de
apertura de
streams de C se dan en la siguiente tabla (tabla 92 del
estandar):
ios::out --> "w"
ios::out | ios::trunc --> "w"
ios::out | ios::app --> "a"
ios::in --> "r"
ios::in | ios::out --> "r+"
ios::in | ios::out | ios::trunc --> "w+"

Solo se aceptan estas combinaciones para modo texto, y
las mismas combinadas con ios::binary para el modo
binario. El resto son ilegales.

Salu2.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida