Запись двоичного неподписанного символа в файл дает неправильный вывод c ++ - PullRequest
0 голосов
/ 03 апреля 2020

Я просто хочу записать 0x80 в файл.

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    unsigned char c;
    c = 128;
    ofstream of("f.bin", ios::out | ios::binary);
    of.write((char *) &c, sizeof(c));
    of.close();
    return 0;
}

дает

$ od -tx1 f.bin
0000000 ef bf bd
0000003

Что я не понимаю? reinterpret_cast дает тот же результат.

...