Обычно я использую stringstream
для записи в строку в памяти. Есть ли способ записать в буфер char в двоичном режиме? Рассмотрим следующий код:
stringstream s;
s << 1 << 2 << 3;
const char* ch = s.str().c_str();
Память в ch
будет выглядеть так: 0x313233 - коды ASCII символов 1, 2 и 3. Я ищу способ написать сами двоичные значения. То есть, я хочу 0x010203 в памяти. Проблема в том, что я хочу написать функцию
void f(ostream& os)
{
os << 1 << 2 << 3;
}
И решите вне какой поток использовать. Что-то вроде этого:
mycharstream c;
c << 1 << 2 << 3; // c.data == 0x313233;
mybinstream b;
b << 1 << 2 << 3; // b.data == 0x010203;
Любые идеи?