Мой первый вопрос: почему принято использовать символы без знака для записи в файлы в двоичном режиме? Во всех примерах, которые я видел, любое другое числовое значение приводится к беззнаковому типу char перед записью в двоичный файл.
Мой второй вопрос: что плохого в использовании потоковых операторов для записи в двоичные файлы? Я слышал, что операторы read () и write () лучше всего использовать для записи в двоичные файлы, но я не совсем понимаю, почему это так. Использование операторов потока для записи в двоичные файлы отлично работает для меня, ЕСЛИ я сначала приводил значение к unsigned char.
float num = 500.5;
ostream file("file.txt", ios::binary);
file << num // results in gibberish when I try to read the file later
file << (unsigned char)num // no problems reading the file with stream operators
Заранее спасибо.