В системе Unix / POSIX вы можете использовать метод cin.get()
для чтения побайтно и сохранять данные в контейнер, такой как std::vector<unsigned int>
, или вы можете использовать cin.read()
для чтения фиксированное количество байтов в буфере. Вы также можете использовать cin.peek()
для проверки любых индикаторов конца потока данных.
Имейте в виду, чтобы не использовать перегрузку operator>>
для операций этого типа ... использование operator>>
приведет к возникновению разрывов при каждом появлении символа разделителя, а также удалит символ разделителя из самого потока , Это будет включать в себя любые двоичные значения, которые эквивалентны пробелу, табуляции и т. Д. Таким образом, двоичные данные, которые вы в конечном итоге сохраните из std::cin
, используя этот метод, не будут совпадать побайтно с байтом входного двоичного потока.