ho bisogno di qualcosa che trasforma lettere in numeri

io faccio così

read(fd,cbyte,1);
printf("IL BYTE LETTO è:%s\n",cbyte);
(int *) cbyte;
printf("ADESSO VALE:%i\n",cbyte);
sprintf(str,"%d",cbyte);
write(fd1,str,9);


l'intero cbyte da sempre lo stesso numero negativo enorme

help