Re: Как строчку делить на строчки?
От: peregrin  
Дата: 14.04.04 00:38
Оценка:
Здравствуйте, Blitz, Вы писали:

B>Сдаюсь.


B>Как string "поделите меня пожалуйста" поделить на vector<string> oppa, где


B>oppa[0] = "поделите"

B>oppa[1] = "меня"
B>oppa[2] = "пожалуста"

B>Пожалуйста


Например вот так:

#include <string>
#include <vector>

int main()
  {
  const std::string separators(" \t"); // разделители слов
  std::string s(" \t split \t me \t please \t "); // строка для разделения
  std::vector<std::string> oppa;
  size_t curr_str_begin, curr_str_end = 0;
  while ((curr_str_begin = curr_str_end) < s.length())
    {
    curr_str_begin = s.find_first_not_of(separators, curr_str_begin);
    curr_str_end   = s.find_first_of(separators, curr_str_begin);     
    if (curr_str_begin == s.npos) // это на случай пробелов в конце
      break;
    oppa.push_back(s.substr(curr_str_begin, curr_str_end - curr_str_begin));
    }
  }

Наверное можно и красивее
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.