Hola!!!!!!!!
Si vos queres por ejemplo borrar un registro, lo q haces es crear otro archivo copiando en este ultimo lo q queres del original. Despues borras el original y renombras el nuevo con el del original. Como sabras, vos no podes borrar asi como asi. Los datos no se pueden borrar. Si esto te parece q lo vas a hacer muchas veces quizas te convendria marcarlo como borrado y cada un cierto tiempo, o ante accion del usuario, "defragmentar".
Ahora para modificar, si vos levantas un registro del archivo a memoria (no importa si el registro en un strcut, una clase, un int o lo q sea), lo modificas en memoria y lo pones en el archivo en la misma posicion de donde lo obtuviste pisando lo q te quedo abajo. Tene cuidado ya q si manejas registros de longiyud variable vas a estar haciendo mocos por todos lados. Si son de longitud fisja, no deberias tener problemas.
Salu2!!!!