К сожалению, в C++ нет стандартного способа переоткрыть std::cin и std::cout в бинарном режиме. Это зависящая от реализации особенность, которая требует проверки документации твоего компилятора.
Попытка закрыть и переоткрыть эти потоки в бинарном режиме может дать неожиданные или нежелательные результаты. Стандартная библиотека не предоставляет надёжный механизм для такого преобразования после инициализации.
Поскольку стандарт C++ это не регулирует, разные компиляторы предлагают разные подходы:
_setmode() для переключения режимов потокаfcntl() или похожие функции на уровне ОСВместо попыток переоткрыть стандартные потоки, рассмотри такие альтернативы:
std::ifstream, std::ofstream), открытые сразу в бинарном режимеТакой подход более переносимый, надёжный и простой в поддержке на разных платформах и компиляторах.
Стандартная библиотека C++ предоставляет портативный, стандартизированный способ переключить std::cin и std::cout в двоичный режим после их инициализации.
Новый — ещё не проверен сообществом
Вы