2013-05-04 11 views
5

QStringを返す関数を作成しました。関数内のいくつかの点では、空のQStringが返されます。C++ Qt return empty QString

""を返すだけでは機能しません。私がQString::isEmpty()を使用するときはそうではありません。 私の "緊急計画"は、 "空の"文字列を返し、テキストが "空"であるかどうかをチェックすることでした。しかし、私はそれが良いスタイルだとは思わない。

どうすれば空のQStringを返すことができますか?

答えて

13

空のQStringを作成するための慣用的な方法そのデフォルトコンストラクタ、つまりQString()を使用しています。 QString()は、isEmpty()isNull()の両方が返される文字列を返します。true

はA QStringのリテラル""が空である(isEmpty()戻りtrue)が、ヌルでない(isNull()戻りfalse)を使用して作成しました。

両者は、size()/length(),

0

QStringドキュメントによれば、 ""を返しても問題ありません。 QString()を返す必要があります。

あなたはそれが本当に空だことを確認するためにテストされている文字列をプリントアウトしてみてください。

printf("xxx [%s]\n", myStr.toUtf8().constData()); 
関連する問題