LINUX.ORG.RU

не знаю на счет грамотно, но первое что пришло в голову выглядит так:

vector<string> mass;

string s="vsya&masha&petya&vova&jora";

int i=0,j=0;
while(1) {
    i=s.find('&', j);
    if(i==string::npos) break;
    mass.push_back(s.substr(j,i));
    j=i;
}

HTH

за ошибки ответственность не несу :) проверять лень --- спать пора

anonymous
()
Ответ на: комментарий от anonymous

стормозил. так оно последний элемент не вставит. надеюсь сам поправишь.

anonymous
()
Ответ на: комментарий от grustnoe

а он говорит не может конвертировать char* в char на строке

for(a=string,i=0,j=0;a!='\0';a++,j++) {

anonymous
()

#include <string>
#include <cstring>   
namespace 
{
    inline bool
    isws (char c, char const * const wstr)
    {
        return (strchr(wstr,c) != NULL);
    }
}

template <typename Container>
void stringtok (Container &l, string const &s, char const * const ws = " \t\n")
{
    const string::size_type  S = s.size();
          string::size_type  i = 0;

    while (i < S) 
    {
        while ((i < S) && (isws(s[i],ws)))  ++i;
        if (i == S)  return;
        string::size_type  j = i+1;
        while ((j < S) && (!isws(s[j],ws)))  ++j;
        l.push_back(s.substr(i,j-i));
        i = j+1;
    }
}

list<string>       ls;
stringtok (ls, " vsya&masha&petya&vova&jora", "&");
char* mass[]; 
int x=0;
for (list<string>::const_iterator i = ls.begin(); i != ls.end(); ++i)
{
	mass[x] = *i;
}

anonymous
()
Ответ на: комментарий от anonymous

>char* mass[];
>list<string>::const_iterator i
>mass[x] = *i;
Душераздирающее зрелище :(

Теперь мне лучше понятны чувства Антихриста.
Народ, ну если не очень уверены в своем коде, то зачем его
публиковать в людном месте? Может лучше сначала его компилятору скормить?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.