Код очень прост.
unsigned char a_byte;
ifstream a_file("C:/file.bin", ios_base::binary);
if (a_file.is_open() && a_file.good())
{
a_file.seekg(0);
a_file >> a_byte;
a_file.close();
}
Проблема в том, что он не читает 09h из однобайтового файла — я просто получаю ноль в переменной a_byte. Это работает с разными значениями. В чем причина?
Потоковые классы operator>>
пропустит пробел перед чтением в целевую переменную. Здесь значение char 09h
TAB, который считается пробелом и пропускается.
Если вы хотите прочитать каждый символ, попробуйте get
функция.
Других решений пока нет …