В stringstream сохраняется не текст, а адрес
Вот код. Пользователь вводит строку, потом я из этой строки получаю последнее слово и сохраняю его посимвольно в stringstream. В stringstream сохраняется адрес, а не буквы.
#include <iostream>
#include <sstream>
using namespace std;
int main() {
string a[10];
stringstream b[10];
for(int i = 0; i<10; ++i) {
getline(cin, a[i]);
int temp = 0;
for(int i2 = 0; i2<a[i].length()-1; ++i2) {
if(a[i][i2]==' ') {
temp = i2;
}
for(int i2 = temp; i2<a[i].length()-1; ++i2) {
b[i] << a[i][i2];
}
}
}
cout << b[1];
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
cout << b[1];
Что вы выводите? по сути, объект stringstream (вспомним stringstream b[10];), для которого нет оператора вывода, так что видимо (у меня на VC++2017 это просто не компилируется) выполняется приведение типов - к void*.
Попробуйте выводить
cout << b[1].str();