Doble post para indicar que ya he encontrado la solución.
 
Para los interesados, bastaba con utilizar lseek   
 Código HTML:
 http://linux.about.com/library/cmd/blcmdl2_lseek.htm
 AL final el código me quedo asi  
Código:
                         
                        ch[tamlectura] = 0;
                        strcpy (strn, nomusers[fd[i]]);
                        strcat (strn, " : ");
                        strcpy (ch2, nomusers[fd[i]]);
                        strcat (ch2, " @@ ");
                        strcat (ch2, ch);
                        strcat (ch2, "\n");
			strcpy (nomfile, "test");
                        disco = open (nomfile, O_WRONLY);
                        lseek (disco, 0, SEEK_END);
                        write (disco, &ch2, tamlectura + tamnom1 + 3);
                        close (disco);
  Un saludo a todos