Einzelne Zeile in Binär-Datei ändern

Teste es mit FILE_WRITE,

#define FILE_WRITE (O_READ | O_WRITE | O_CREAT | O_APPEND)

klingt so als müsstest du u.U. nur die Position korrigieren,
die steht nach dem Öffnen auf dem Ende der Datei.