Я экспериментирую с 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 это должно быть напечатано. Почему это так?