Что-то вроде следующего должно сделать это. bytes_read () дает вам количество прочитанных блоков, в вашем случае размер блока равен размеру файла, поэтому можно прочитать только один блок.
Вы должны использовать цикл for для печати всего файла. Вы печатаете только один указатель адреса.
char *stream = (char *)malloc(fileSize);
fseek(fd, 0, SEEK_SET);
int bytes_read = fread(stream, fileSize, 1, fd);
for(int i=0; i<fileSize; i++){
printf("%d ", stream[i]);
}
Я печатаю символы в виде чисел, поскольку двоичные данные не читаются в консоли. Я не знаю, как вы хотели, чтобы данные были отформатированы.
Это просто ссылка на ваш образец. Вы должны действительно рассмотреть возможность использования образца Чада. Это гораздо худшее решение (поскольку смешивание C / C ++ слишком много) просто ради полноты.