Due problemi fondamentali: innanzitutto come secondo parametro della write() va passato l'indirizzo di base della locazione di memoria da cui leggere i byte da scrivere, quindi va passato &somma e non somma. In secundis, anche dopo aver apportato questa correzione, con ogni probabilità la write() non stamperà comunque nulla di "leggibile" su console perché la funzione non fa altro che stampare byte grezzi, non è come la printf() che fa le sue conversioni in base alla stringa di formato. Se si vuole stampare il valore della somma con la write() bisognerà quindi prima riconvertirlo in stringa in un apposito buffer e passare quindi l'indirizzo di base di quest'ultimo alla write().
Attenzione anche al più che evidente problema di buffer overflow: buff ha solo due elementi ma BUFSIZE è impostato a 4000. Andrebbe inoltre incluso l'header file stdlib.h per la funzione atoi().

Rispondi quotando