0

我正在使用 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 是标记宽字符串的最佳选择,还是有其他选择?

4

1 回答 1

4

将目标更改为std::vector<std::wstring>,将源更改为std::wstring,并且分隔符可以是普通的宽字符串文字;

std::vector<std::wstring> target;
std::wstring source = ...;
boost::split(target, source, boost::is_any_of(L" ")));
于 2011-12-28T09:37:55.250 回答