Estoy tratando de abrir un archivo binario para escribir sin borrar el contenido. Pero no quiero escribir para eof. Quiero escribir en una posición específica en el archivo.Escribir en el medio de un archivo binario existente C++
Aquí está un ejemplo litte:
ofstream out("test.txt", ios::binary | ios::app);
for(int i = 0; i < 100; i++)
out.put('_');
out.write("Hallo", 5);
out.close();
ofstream out2("test.txt", ios::binary | ios::app);
out2.seekp(10);
out2.write("Welt", 4);
out2.close();
Si se utiliza la aplicación, busque no funciona. Si no se utiliza el archivo de apertura de la aplicación, se borran los datos. ¿Alguien sabe una respuesta?
Acabo de probar out2.seekp (10, ios_base :: beg) ;. Eso no cambia nada. –
No debe borrar el archivo a menos que especifique ios :: trunc – crashmstr
@crashmstr, tiene usted razón. Estoy borrando mi comentario. –