Как считать один байт из файла? Следующий код работает, но некоторые байты пропускаются (0x09, 0x0a, 0x0b, 0x0c, 0x0d
) и считывается следующий за ними байт.
ifstream file(fileName, std::ios_base::in | std::ios_base::binary);
uint8_t s;
file >> s;
Пытался еще сделать вот так,
file.readsome(&s, 1);
но uint8_t*
не кастится к char*
.
Использую именно uint8_t потому, что насколько я знаю стандартом размер char-а не регламентирован.
В чем проблема?
Я бы использовал char
(чтоб он был не байтом - это надо потрудиться такое найти...) Тогда
file.get(char&);
или
file.read(char*,1);
Ну, а если строго uint8_t
(который, готов спорить, у вас он просто unsigned char
... если нет - то даже интересно, с чем вы таким имеете дело) - то
file.read(reinterpret_cast<char*>(&s),1);
ASCII
0x09
- горизонтальная табуляция (\t
)0x0a
- перевод строки (\n
)0x0b
- вертикальная табуляция0x0c
- «прогон страницы», новая страница - команда для принтера начать печать с новой страницы0x0d
- возврат каретки (\r
)Выглядит так, как-будто вы читаете всё таки текстовый файл как текст, может быть оставить в конструкторе только std::ifstream::binary
?
В крайнем случае всегда есть сишный fread()
.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Мне нужно подключить прокси с авторизацией, я только разобрался с работой selenium, думал и с этим разберусь, но ничего не выходитВроде бы как...
Обработкой картинок не занималсяЕсть картинка - на белом фоне синие точки
Есть файл pmnl в котором хранится сеть петриКак можно её загрузить и анализировать в java