Ah ok, perchè in C si poteva fare usando al posto di fscanf e fprintf le apposite funzioni fread e fwrite create appositamente per l'accesso casuale e non sequenziale.
Effettivamente, in mancanza di una risposta al thread, mi ero diretto proprio su quella soluzione usando la file().