我基於分隔符(使用Boost Tokenizer)來標記一個字符串,然後根據狀態變量的值做標記。Tokenizing一個字符串內的開關案例
我遇到的問題:其中一種情況需要將字符串進一步標記。這會導致錯誤,因爲tok1和令牌迭代器變量在大小寫中聲明。我試過在交換機之外聲明它們,只是將它們分配給外殼,但這不起作用。
有沒有人知道我如何使這項工作或如果有更好的方式去進一步標記案件中的字符串?謝謝!
如下代碼示例:
boost::char_separator<char> sep(TOKEN_DELIMETER_NEWLINE);
boost::char_separator<char> sep2(TOKEN_DELIMETER_SPACE);
tokenizer tok(_text, sep);
while(lineToken!=tok.end())
{
switch(state)
{
case FIRST_STATE:
lineToken++;
tokenizer tok1(*lineToken, sep2);
tokenizer::iterator token=tok1.begin();
break;
// Other Cases follow...
}
}
是一個'if-statement'選項嗎? – andre