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() 返回什么?char* 不太可能,因为 Rogue Wave 有自己的支持 unicode 的字符串类。

如果它是一种 Rogue Wave 字符串类,请检查是否有测试内容是否为空的方法。

可能你应该使用类似的东西:

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

或者

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