2013-05-04 19 views
5

Zrobiłem funkcję, która zwraca QString. W niektórych punktach mojej funkcji powinien zwracać pusty QString.Powrót C++ Qt pusty QString

Po powrocie "" nie działa. Kiedy używam QString::isEmpty(), nie jest. Mój "plan awaryjny" polegał na zwrocie "pustego" ciągu znaków i sprawdzeniu, czy tekst jest "pusty". Ale nie sądzę, że to dobry styl.

Jak zatem zwrócić pusty QString?

Odpowiedz

13

idiomatyczne sposób, aby utworzyć pusty QString używa domyślnego konstruktora, tj QString(). QString() tworzy ciąg znaków, dla którego zarówno isEmpty() i isNull() zwraca true.

QString tworzone przy użyciu dosłowne "" jest pusta (isEmpty() powraca true), ale nie zerowa (isNull() powraca false).

Oba mają size()/length() z 0.

0

Zgodnie z dokumentacją QString, powracający "" powinien działać; as powinno zwracać QString().

Spróbuj drukując ciąg jest testowane, aby upewnić się, że to naprawdę pusty:

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