Трюки, чтобы перейти от острингстрима к истрингстриму

Я пытаюсь создать модуль сжатия / распаковки, а затем использовать istringstream для сжатия и ostringstream для распаковки.

Моя проблема в том, что после заполнения моего istringstream данными о сжатии я не могу преобразовать этот поток в поток ostring. Я попробую:

iss.rdbuf (oss.rdbuf ());

как тип входа и выхода, но он не работает.

Есть ли у вас какие-либо идеи?

Заранее спасибо.

1 ответ

Решение

stringstream::rdbuf не имеет перегрузки, которая принимает параметр. Однако он наследует версию базового класса, которая имеет это свойство:

iss.basic_ios<char>::rdbuf(oss.rdbuf());

Факт, что вы не могли использовать это первоначально, потому что версия производного класса скрывает это.

Другие вопросы по тегам