2013-05-04 491 views
5

我做了一个函数,返回QString。在我的函数中的某些点,它应该返回一个空的QStringC + + Qt返回空QString

刚回来""不起作用。当我使用QString::isEmpty()它不是。 我的“紧急计划”是返回一个“空”字符串并检查文本是否为“空”。但我不认为这是很好的风格。

那么如何返回一个空的QString

回答

13

惯用的方法来创建一个空的QString使用其默认的构造函数,即QString()QString()创建一个字符串,其中isEmpty()isNull()返回true

为QString使用文本""是空的(isEmpty()返回true),但不为空(isNull()返回false)创建。

两者都有size()/length()为0.

0

根据QString文档,返回“”应该工作;应该返回QString()。

尝试打印出你正在测试,以确保它是真正的空字符串:

printf("xxx [%s]\n", myStr.toUtf8().constData());