【发布时间】:2011-12-28 03:50:09
【问题描述】:
我正在使用 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 是标记宽字符串的最佳选择,还是有其他选择?
【问题讨论】:
-
“It's not working”不是一个好的问题描述。
-
它显示异常
Assertion failed: !is_singular() ../boost/range/iteratorator_range.hpp -
另外,不要将
" "转换为 wchar_t*,而是使用宽字符串文字L" "。 -
这是因为我在
is_any_of()中使用std::wstring()而不是std::string() -
是的,对于宽字符串,使用宽文字。
标签: c++ boost c++builder c++builder-2010