Función de escritura de Linux C
¡Qué error tan desconcertante! If ((fd=open(pathname, FLAGS, MODE)==-1)) En esta oración, la posición de los corchetes es incorrecta
Debería ser: if ( (fd=open(pathname, FLAGS, MODE)) ==-1)
La forma original de escribir es que el valor de fd es 0, que se convierte en la entrada estándar (terminal). Por lo tanto, lseek siempre informará errores.