0

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(" ")すると0 になりL" "ます。

私は何を間違っていますか?

4

0 に答える 0