2

テキストボックスにユーザーが入力したテキストがあるかどうかを確認したいのですが、できません。以下のステートメントは常に false を返します

if (MyLLVTextEdit->getMessage() == NULL)
{
    MessageBox(NULL,"No Text", "no Text",NULL);
}

も試した

if (MyLLVTextEdit->getMessage() == "")
{
    MessageBox(NULL,"No Text", "no Text",NULL);
}


if (MyLLVTextEdit->getValue() == NULL)
{
    MessageBox(NULL,"No Text", "no Text",NULL);
}

if (MyLLVTextEdit->getValue() == "")
{
    MessageBox(NULL,"No Text", "no Text",NULL);
}

アイデアはありますか?

4

2 に答える 2

1

ライブラリに慣れていませんが、strcmp関数を使用して文字列 (char*) を比較し、文字列が空かどうかを確認する必要があります。strlen

strlen(MyLLVTextEdit->getMessage()) == 0

operator==std::string QStringなどの文字列クラスを使用する場合にのみ使用できます

于 2015-05-22T10:14:13.427 に答える
-2

getMessage() は何を返しますか? Rogue Wave には独自の Unicode 対応の文字列クラスがあるため、char* の可能性はほとんどありません。

Rogue Wave 文字列クラスのようなものである場合は、内容が空かどうかをテストする方法があるかどうかを確認します。

おそらく、次のようなものを使用する必要があります。

if (MyLLVTextEdit->getMessage().isNull() )

また

if (MyLLVTextEdit->getMessage().isEmpty() )
于 2015-05-22T10:37:36.150 に答える