Esatto.

Occhio però che se usi "ios_base::cur" dovrai anche modificare i valori di offset che hai scritto, altrimenti i dati della seconda riga non te li troverai allineati con quelli che hai scritto nella prima.

Cioè una cosa è scrivere

write.seekp(20);

che ti sposta il cursore venti posizioni dopo l'inizio dello stream, e un'altra è scrivere

write.seekp(20, ios_base::cur);

che ti spiazza il cursore di scrittura di 20 posizioni dopo quella corrente. Le due cose sono equivalenti solo se (appunto) la posizione corrente è proprio l'inizio del file.