no io uso la read perchè quando vado a leggere da file accetta solo una stringa non un carattere

inoltre la conversione non funziona

leggo i primi 99 caratteri del file

codice:
   int j;
 char cbyte[1];
 char str[10];
 fd=open("f1",O_RDONLY,0777);
 fd1=open("f2",O_WRONLY | O_TRUNC,0777);
 for (j=0;j<=99;j++)
  {
   read(fd,cbyte,1);
   printf("IL BYTE LETTO è:%s\n",cbyte);
   printf("Valore ASCII: %d\n", (int)cbyte);
   sprintf(str, "%d", (int)cbyte);
   write(fd1,str,1);
  }

}