我想检查文本框是否有用户输入的某些文本但不能。下面的语句总是返回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);
}
有什么想法吗?
答案 0 :(得分:1)
不熟悉您的库,但您应该使用strcmp
函数来比较字符串(char *),以检查字符串是否为空,您可以调用strlen
strlen(MyLLVTextEdit->getMessage()) == 0
仅当您使用某些字符串类(例如operator==
std::string
或其他时,才能使用 QString
答案 1 :(得分:-2)
getMessage()返回什么?非常不可能的char *,因为Rogue Wave拥有自己的支持unicode的字符串类。
如果它是一种Rogue Wave字符串类,请检查是否有测试内容空虚的方法。
可能你应该使用类似的东西:
if (MyLLVTextEdit->getMessage().isNull() )
或
if (MyLLVTextEdit->getMessage().isEmpty() )