使用boost标记宽字符串

时间:2011-12-28 03:50:09

标签: c++ boost c++builder c++builder-2010

我使用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]);
    }
}

我想看一个关于标记宽字符串的工作示例。

提升是标记宽字符串的最佳选择,还是还有其他选择?

1 个答案:

答案 0 :(得分:3)

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

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