Найти последний токен в потоке строки

0

У меня есть stringstream и нужно выяснить, заканчивается ли она определенным словом или нет. Как вы перебираете stringstream и выбираете последнюю строку?

Это школьное упражнение, в котором вам не разрешено использовать итераторы или любую другую магию.

Теги:
token
stringstream

1 ответ

0
Лучший ответ

Строковый поток похож на snprintf на C, поэтому вы фактически конвертируете его в строку с помощью .str(). Это базовый пример: Чтобы получить все миры, вам придется разделить на пространство и поместить его в массив или вектор или что-то еще.

#include <iostream>
#include <string>
#include <sstream>
using std::cout;
using std::endl;
int main()
{
        std::stringstream ss;
        ss << "self" << ' ' << "world" << ' ' << "bacon";
        std::string str(ss.str());
        std::string buf;

        for(unsigned i = 0; i < str.length(); i++) {
                buf += str[i];
                if(str[i] == ' ') {
                        buf = "";
                }
        }
        cout << buf << endl;
        return 0;
}
  • 0
    Но как мне выбрать последнее слово только из строки? Это только превращает поток строк в строку.
  • 0
    Вам разрешено использовать векторы?
Показать ещё 10 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню