Как мне поступить с входными данными для seekp и использовать их с hex? Что-то вроде этого?
Cin >> шестигранной >> MyChar;
Как насчет печати правильного значения в шестнадцатеричном формате?
Скажем, в 0x16 байт FF или 255 без знака 8 бит (десятичный?), Когда я делаю это
fstream mystream;
mystream.seekp(0x16);
long myvar;
myvar=mystream.tellp();
cout<<"Value at offset 0x16: "<<myvar;
Он печатает 22 im, предполагая, что, так как я открыл файл в двоичном режиме, поэтому его печать 22 в качестве значения FF в двоичном формате похожа на 2222222 и т. Д.
Существует ли правильный тип данных для печати значения с определенным смещением (я пробовал long и char и int, но это все равно дает 22) или я их печатаю неправильно? Я искал в Google, но не смог найти никакой помощи в этом отношении, однако я заметил, что открытие файла в двоичном формате рекомендуется для редактирования с помощью hex.