Что вы подразумеваете под "токеном"?Если это что-то, разделенное любым пробелом , то вам нужны строковые потоки:
std::istringstream iss("blah wrxgl bxrcy")
for(;;) {
std::string token;
if(!(iss>>token)) break;
process(token);
}
if(!iss.eof()) report_error();
В качестве альтернативы, если вы ищете определенный отдельный разделяющий символ, вы можете заменить iss>>token
наstd::getline(iss,token,sep_char)
.
Если более чем один символ может выступать в качестве разделителя (и если это не пробелы), то должны подойти комбинации std::string::find_first()
и std::string::substr()
.