Hola, buenas tardes a todos.
Tengo un problema con el uso de la función seekp en C++.
Abro un archivo de escritura asignándole la bandera "ios_base::app", la función seekp funciona como debería pero al momento de escribir la función write escribe siempre al final del archivo y no en la posición que le asignamos con el seekp.
ofstream aproximaciones;
aproximaciones.open ("registro.bin",ios_base::app);
aux=1;
for(int i=0; i<=2; i++) {
usuario.aprox[i]=aprox[i];
}
aproximaciones.seekp(nro*sizeof(usuario));
aproximaciones.write((char*)(&usuario), sizeof(usuario));
aproximaciones.close();
El código es solamente una parte de todo el programa, el entero "nro" indica la cantidad de usuarios que tengo y, por lo tanto, los que me tengo que mover para modificar dicho usuario.
Aunque eso no tiene mucha importancia, simplemente quiero saber porque no me escribe en una posición específica.
Saludos y muchas gracias.