Witam, mam za zadanie pobrać z pliku 16 bajtów danych i je wyświetlić bajt po bajcie czyli przykładowy output mógłby być taki:
Mój program wygląda następująco:
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <string.h>
#define LEN 16 // 128 bits
int main() {
unsigned char klucz[LEN]; //tu chcę zapisać to 16 bajtów. 1 komórka tablicy = 1bajt
FILE *plik = fopen("/dev/urandom", "r");
fread(klucz, 1, 1, plik);
fclose(plik);
int i;
for(i=0; i<=15; i++) {
printf("klucz[%d]: %c \n",i,klucz[i]);
}
return 0;
}
Niestety efekt jest następujący:
Wydaje mi się że program próbuje wyświetlić znak przypisany danej liczbie zamist tej liczby. Jak to zmienić?