Поток строк удаляет предыдущее значение
Почему программа выводит 12, а не 112?
#include <sstream>
#include <iostream>
int main() {
std::stringstream ss("1");
std::cout << ss.str();
ss << "2";
std::cout << ss.str();
}
Ответы (1 шт):
Автор решения: user7860670
→ Ссылка
Для сохранения начального строкового значения для дозаписи в поток при вызове конструктора следует указывать режим дописывания в конец app или ate. По-умолчанию он использует режим перезаписи с начала (in out):
::std::stringstream ss
{
"1"
, ::std::ios_base::in bitor ::std::ios_base::out bitor ::std::ios_base::app
};