我使用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]);
}
}
我想看一个关于标记宽字符串的工作示例。
提升是标记宽字符串的最佳选择,还是还有其他选择?
答案 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" ")));