c++builder - LastDelimiter 找不到最后一个空格字符
问题描述
我正在使用 C++ Builder 10.2 Tokyo,我必须在变量中找到最后一个空格的位置,该String
变量的值类似于"XXX YYYYY TYUR KXYZ"
;
如果我使用该函数LastDelimiter(const System::UnicodeString Delimiters, const System::UnicodeString S)
,它返回 0,但如果我使用该UnicodeString method::LastDelimiter( UnicodeString Delimiter )
方法,它返回变量的长度。
这是我正在使用的代码:
void TMyClass::SetVerbo()
{
int nPosCut = 0;
if( !this->Message.IsEmpty() ) // Message is a UnicodeString (String)
{
nPosCut = this->Message.LastDelimiter(String(" ")) + 1 ;
}
if( nPosCut > 0 )
this->Verbo = this->Message.SubString(nPosCut, this->Message.Length() -nPosCut ) ;
}
在调试方法调用时,它给了我正确的值(34),尽管结果nPosCut
是 42(消息长度),如代码中所写,或者如果我更改String(" ")
为L" "
.
我究竟做错了什么?
解决方案
推荐阅读
- vue.js - 无法使用 Vuejs 在 Storybook 中使用 axios-mock-adapter 模拟 axios api 调用
- coinbase-api - 为什么我从 Coinbase API 获得“交易”交易类型?
- bash - 将字符串隐藏到日期 bash
- java - 如何使 TreeStructureProvider 在 actionPerformed 方法上可更新?
- matlab - Matlab通过方法改变属性值
- cordova - Ionic App 在启动画面后显示白屏
- angular - Angular ngForm 没有显示价值
- django-rest-framework - /api/shopping-cart/ 处的 IntegrityError(1048,“列 'product_id' 不能为空”)
- google-apps-script - 谷歌表单端表单触发器未触发
- android - 将复选框按钮与视图中心对齐