我创建了一个返回QString
的函数。在我的函数中的某些点,它应该返回一个空的QString
。
只返回""
不起作用。当我使用QString::isEmpty()
时,它不是。
我的“应急计划”是返回一个“空”字符串并检查文本是否为“空”。但我认为这不是好风格。
那么如何返回空的QString
?
答案 0 :(得分:13)
创建空QString的惯用方法是使用其默认构造函数,即QString()
。 QString()
创建一个字符串,isEmpty()
和isNull()
都返回true
。
使用文字""
创建的QString为空(isEmpty()
返回true
)但不为空(isNull()
返回false
)。
两者都有size()
/ length()
为0。
答案 1 :(得分:0)
根据QString文档,返回“”应该有效;应该返回QString()。
尝试打印出您正在测试的字符串,以确保它真的是空的:
printf("xxx [%s]\n", myStr.toUtf8().constData());