QString类(常用函数)
QString类提供了一个Unicode文本和经典的C以零结尾的字符数组的抽象。
(1)QString::QString()
构造一个零字符串。这是一个不被分配任何东西的字符串,也就是说长度和数据指针都为0。如何理解?请看下面这个成员函数。
(2)bool QString::isNull()
如果字符串为零,返回真。零字符串总是空的。
QString a; // a.unicode() == 0,a.length() == 0
a.isNull(); // 真,因为a.unicode() == 0
a.isEmpty(); // 真
(3)bool QString::isEmpty()
如果字符串为空,也就是如果length() == 0,返回真。因此,零字符串也是空字符串。
QString a("");
a.isEmpty(); // 真
a.isNull(); // 假
QString b;
b.isEmpty(); // 真
b.isNull(); // 真
NULL字符串和空(empty)字符串的区别:
一个NULL字符串就是使用QString的默认构造函数或者使用(const char*)0作为参数的构造函数的创建的QString字符串对象;
QString().isNull(); //结果为true (1)
QString((const char *)0).isNull(); //结果true (2)
QString("").isNull(); //结果为false (3)
一个空的字符串是一个大小为0的字符串。
QString().isEmpty(); //结果为true (4)
QString((const char *)0).isEmpty(); //结果true (5)
QString("").isEmpty(); //结果为true (6)
一个NULL字符串一定是一个空字符串 对比(1)(2)(4)(5)可以得出
而一个空字符串未必是一个NULL字符 对比(3)(6)可以得出
(4)uint QString::length()
返回字符串的长度。零字符串和空字符串的长度都为0。
(5)QString & QString::append(const QString & str)
把str添加到字符串中并且返回结果的引用。
QString string = "Test";
string.append( "ing" ); // string == "Testing"
(6)QString QString::arg(const QString & a, int fieldwidth = 0)
这个函数将返回使用a来替换最低层出现的%i(i为’1’或’2’或……‘9’)的字符串。
fieldwidth值指定了填充到a中的最小空间。正值将产生右对齐文本,负值将产生左对齐文本。
QString fi