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.