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.
Saludos.
Isidro.
"opotonil" <anon...@discussions.microsoft.com> escribió en el mensaje
news:10a7e01c44039$639047d0$a101...@phx.gbl...
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.