目录
QString篇
QString篇
//初始化bool bOk = false;QString str = "sd";QString strTemp(str);str = QString("%1,%2").arg("11").arg("-gg");qDebug()<<str;str.sprintf("%s %d","ni",1);qDebug()<<str;qDebug()<<str.toStdWString().data();qDebug()<< str.sprintf(("%.3f"),3.1415926);//需要注意 C asprintf是内存分配,失败返回-1好像,但是要freeqDebug()<< str.asprintf(("%2f"),3.1415926); //不建议使用官方说的//is null "\0"不为空str = "\0";bOk = str.isEmpty();qDebug()<<bOk;bOk = str.isNull();qDebug()<<bOk;// 添加 也可以用运算符+str = "sd";str.append("89");qDebug()<< str;str.push_back("11");str.push_front("A");qDebug()<<str;//移除str.remove("sd");qDebug()<<str;//附加str.prepend("-->");qDebug()<<str;// 计算长度str = "sd\n";qDebug()<<str.count();qDebug()<<str.size();qDebug()<<str.length();QString* pStr = &str;qDebug()<<pStr->count();qDebug()<<pStr->size();qDebug()<<pStr->length();// 去空格str = " 1 sd\n ";qDebug()<< str.trimmed(); //去首qDebug()<< str.simplified(); //首尾//截取str = "12345678";qDebug()<< str.left(3);qDebug()<< str.right(3);qDebug()<< str.mid(2,5);qDebug()<< str.remove(2,5);// 有规律截取QString csv = "forename,middlename,surname,phone";QString path = "/usr/local/bin/myapp"; // First field is emptyQString::SectionFlag flag = QString::SectionSkipEmpty;QString data = "forename**middlename**surname**phone";str = data.section("**", 2, 2); // str == "surname"str = data.section("**", -3, -2); // str == "middlename**surname"str = csv.section(',', 2, 2); // str == "surname"str = path.section('/', 3, 4); // str == "bin/myapp"str = path.section('/', 3, 3, flag); // str == "myapp"//切割字符str = "q/w/e/r/t/y/u";qDebug()<< str.split('/');//超出用其他代替str = "qwertyu";qDebug()<< str.leftJustified(20,'.',true).toStdString().data();//查询包含特定字符包含大小写(参数2区分大小写)bOk = str.contains("llo Wor",Qt::CaseSensitive);qDebug()<< bOk;//以某个字符开头bOk = str.startsWith("llo Wor",Qt::CaseInsensitive);qDebug()<< bOk;//以某个字符结尾bOk = str.endsWith("llo Wor",Qt::CaseSensitive);qDebug()<< bOk;//替换字符str.replace("l","2");qDebug()<< str;// 与QByteArray 相互转换//我们都是在使用QString。QString存储了16位unicode码,很容易用来存储非ASCII或是非Lantin1的编码,另外QString在所有的QtAPI中都是通用的。//有两种情况下会比较适合使用QByteArray,第一就是你要存储一般的位数据,第二种情况就是在内存资源很珍贵的情况下,例如像Qt for EmbeddedLinuxQByteArray byteArray = "Hello World";str = QString::fromUtf8(byteArray);str = "Hello World";byteArray = str.toUtf8();//转换进制str = "-120";int dec = str.toInt(&bOk);qDebug()<< dec << bOk;dec = str.toUInt(&bOk,16);qDebug()<< dec << bOk;str = "-120.5";double db = str.toDouble();qDebug()<< db;float f = str.toFloat();qDebug()<< f;