Я записываю строку в виде байтов в файл, а затем хочу прочитать двоичный код обратно как строку, используя strtol.Я проверил двоичный файл, и он содержал двоичный файл с буквой, которую я включил, используя имя файла xxd -b.Однако, когда я пытаюсь прочитать его обратно и преобразовать в строку, возникает ошибка сегментации 11. Не уверен, что я делаю неправильно.
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE* fr = fopen("kot.bin", "wb+");
size_t written = fwrite("n", 1, 1, fr);
printf("written is: %zu\n", written);
fclose(fr);
FILE* fw = fopen("kot.bin", "rb");
char * name;
size_t red = 0;
red = fread(name, 1, 1, fw);
if (red==0) {
printf("ur wrong\n");
}
printf("red: %zu\n", red);
char c = (char) strtol(name, NULL, 2);
printf("c: %c\n", c);
return 0;
}
Я просто хочу сохранить один байт в буфере, используйтеstrtol, чтобы превратить его в персонажа и напечатать.