LastDelimiter не находит последний пробел
Я использую C++ Builder 10.2 Токио, и мне нужно найти позицию последнего пробела в 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 (длина сообщения), как написано в коде, или 0, если я изменяю String(" ")
в L" "
,
Что я делаю неправильно?