токенизация широкой строки с использованием Boost - PullRequest
0 голосов
/ 28 декабря 2011

Я токенизирую широкую строку, используя boost, но она не работает.Вот мой код:

using namespace std;
vector<wchar_t> vDep;
vector<wchar_t> vArr;
TStringList *slDep;
TStringList *slArr;
wchar_t *chDep;
wchar_t *chArr;
int sz=0;
for (int i = 0; i < mDep->Lines->Count; i++) {
    chDep=WideString(mDep->Lines->Strings[i]).c_bstr();
    ShowMessage(chDep);
    boost::split(vDep,chDep,boost::is_any_of(std::wstring((wchar_t*)" ")));
    sz=vDep.size();
    for (int j = 0; j < vDep.size(); j++) {
        ShowMessage(vDep[j]);
    }
}

Я хотел бы увидеть рабочий пример по токенизации широкой строки.

Является ли boost оптимальным выбором для токенизации широкой строки, или есть какой-то другой?

1 Ответ

3 голосов
/ 28 декабря 2011

Измените цель на std::vector<std::wstring> и измените источник на std::wstring, и разделитель может быть простым широким строковым литералом;

std::vector<std::wstring> target;
std::wstring source = ...;
boost::split(target, source, boost::is_any_of(L" ")));
...