Qt入门-字符串类QString

    QString是Unicode字符的集合,它是Qt API中使用的字符串类。

    QString的成员是QChar,QChar是一个16位Unicode字符类。大多数编译器把它看作是一个unsigned short。

    QString和C标准中的字符串不同,它不以'\0'结尾,相反,QString可以嵌入'\0'/字符。

    

(1)QString初始化。

QString str("Hello");

QString str = "Hello";

static const QChar data[4] = { 0x0055, 0x006e, 0x10e3, 0x03a3 };
QString str(data, 4);

QString str;
str.resize(4);

str[0] = QChar('U');
str[1] = QChar('n');
str[2] = QChar(0x10e3);
str[3] = QChar(0x03a3);

QString str;
str.sprintf("%s %.3f", "float", 3.1415926);
//str结果是"float 3.14"

QString str;
str.setNum(10);  //str = "10"
str.setNum(10, 16); //str = "a"
str.setNum(10.12345); //str = "10.12345"

QString i;           // current file's number
QString total;       // number of files to process
QString fileName;    // current file's name

QString status = QString("Processing file %1 of %2: %3")
                     .arg(i).arg(total).arg(fileName);


(2)字符串转换

long	toLong ( bool * ok = 0, int base = 10 ) const
qlonglong	toLongLong ( bool * ok = 0, int base = 10 ) const
short	toShort ( bool * ok = 0, int base = 10 ) const
double	toDouble ( bool * ok = 0 ) const
float	toFloat ( bool * ok = 0 ) const
uint	toUInt ( bool * ok = 0, int base = 10 ) const
ulong	toULong ( bool * ok = 0, int base = 10 ) const
qulonglong	toULongLong ( bool * ok = 0, int base = 10 ) const
ushort	toUShort ( bool * ok = 0, int base = 10 ) const
参数ok结果说明转换是否成功。
示例:

	QString str;
	bool ok;  
	double d = str.toDouble(&ok);  
	if(ok)  
	{  
		cout << str << endl;  
	} else
	{
		cout << "error." << endl;
	}


(3)字符串比较

int	compare ( const QString & other ) const
int	compare ( const QString & other, Qt::CaseSensitivity cs ) const
int	compare ( const QLatin1String & other, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const
int	compare ( const QStringRef & ref, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const

     QString().isNull();               // returns true
     QString().isEmpty();              // returns true

     QString("").isNull();             // returns false
     QString("").isEmpty();            // returns true

     QString("abc").isNull();          // returns false
     QString("abc").isEmpty();         // returns false

(4)字符串处理

QString left ( int n ) const  //取左边的n个字符。
QString right ( int n ) const //取右边的n个字符。

replace()函数提供方法替换字符串。

remove()函数从字符串中移除字符。

split()函数拆分字符串。

mid()取子串。


你可能感兴趣的:(Qt入门-字符串类QString)