pues leete el fichero en un vector (o una lista enlazada en memoria), insertas el nuevo registro en la posición deseada y escribis todo el archivo de nuevo. Esto porque en archivos no hay corrimientos. Otra opción es que indices el archivo.
Hasta luego.