QString类、QByteArray类
字符串组合:
1 #include "dialog.h" //用户自定义控件 2 #include <QApplication> //这个头文件是应用程序必须的 3 #include <QDebug> 4 5 int main(int argc, char *argv[]) 6 { 7 QApplication a(argc, argv); 8 9 /*<字符串组合: + += >*/ 10 QString str1 = "welcome "; 11 str1 + "to you! "; //QString类重载了 = 运算符 12 /* 13 inline QT_ASCII_CAST_WARN const QString operator+(const QString &s1, const char *s2) 14 当然,还有其他重载:比如 15 inline QT_ASCII_CAST_WARN const QString operator+(const char *s1, const QString &s2) 16 */ 17 18 qDebug()<< (str1 + "to you! "); //输出结果,调试语句,头文件:<QDebug> 19 20 QString str2 = "Hello, "; 21 str2 += "world! "; //QString类重载了 += 运算符 22 qDebug()<< str2; 23 24 /*<字符串组合:append()方法相当于 +=的作用 >*/ 25 QString str3 = str1.append("to you! "); 26 qDebug()<< str3; 27 28 /*<字符串组合:sprintf() >*/ 29 QString str4; 30 str4.sprintf("%s",str1.data()); //str4 = "welcome " inline const QChar *QString::data() const,返回类型 const char*字符串 31 str4.sprintf("%s %s",str1.data(),"to you! "); //str4 = "welcome to you! " 32 qDebug()<< str4; 33 34 /*<字符串组合:QString::arg() >*/ 35 QString str5; 36 str5 = QString("%1 was born in %2.").arg("John").arg(1998); 37 qDebug()<< str5; 38 39 /* 40 insert() 字符串特定位置插入另一字符 41 prepend() 字符串开头插入另一个字符 42 replace() 替换字符 43 trimmed() 移除字符串两端的空格字符 44 */ 45 return a.exec(); 46 }
字符串查找:
字符串转换:
1 #include "dialog.h" //用户自定义控件 2 #include <QApplication> //这个头文件是应用程序必须的 3 #include <QDebug> 4 5 int main(int argc, char *argv[]) 6 { 7 QApplication a(argc, argv); 8 9 /*字符串转换*/ 10 QString str = "0x6"; 11 bool ok; 12 13 /* 14 int toInt(bool *ok=nullptr, int base=10) const; 15 第一个参数,返回函数的执行结果,是否转换成功。 16 第二个参数,表示要转换的进制数,默认是10进制 17 */ 18 int hex = str.toInt(&ok,16); 19 qDebug()<< hex; 20 21 /*将QString 转换为QByteArray */ 22 /* 23 QByteArray具有一个字节数组,可以存放原始字节 24 可以存放以‘ ’结束的字符串 25 */ 26 QString str1 = "Welcom to you! "; 27 /* 28 toAscii()方法,可以将unicode编码的QString字符集转为ASCII编码方式的QByteArray字符集。 29 */ 30 QByteArray ba = str1.toAscii(); 31 qDebug()<<ba; 32 33 /* 34 * NULL字符串与empty字符串 35 * NULL字符串,使用构造函数: func((const char*)var = 0); 36 * empty字符串是字符串大小为0, 37 */ 38 if(QString().isNull() == true){ 39 qDebug()<< "is null? true"; 40 }else if(QString().isEmpty() == true){ 41 qDebug()<< "is empty? true"; 42 } 43 44 if(QString("").isNull() == true){ 45 qDebug()<< "is null? true"; 46 }else if(QString("").isEmpty() == true){ 47 qDebug()<< "is empty? true"; 48 } 49 50 return a.exec(); 51 }