Чтение и запись на диск в значениях C & garbage - PullRequest
1 голос
/ 29 марта 2019

Я экспериментирую с fread () и fwrite () и столкнулся с некоторыми проблемами.

В основном мой код выглядит следующим образом:

//write back to file
char buffers[sizeof(char)*4];

FILE *fp = fopen("test", "wb");
char data[] = {'C', 'S', 'C'};
fwrite(data, sizeof(char), sizeof(data)/sizeof(char), fp);

fread(buffers, sizeof(char), sizeof(buffers)/sizeof(char), fp);

for (int i = 0; i<sizeof(buffers); i++) {
    printf("%c", buffers[i]);
}

Я пытаюсь сначала написать файл с именем «test», в котором CSC содержится содержимое, а затем прочитатьсодержимое обратно в командной строке.Однако после завершения цикла for командная строка выдает значения мусора (???? (v? Z? Z? Y? Y? V?Y ????) вместо CSC это должно быть напечатано. Почему это так?

...