最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt?QString的使用實(shí)現(xiàn)

 更新時(shí)間:2022年05月19日 09:06:50   作者:雲(yún)煙  
本文主要介紹了Qt?QString的使用實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

QString則使用隱式共享,又稱回寫(xiě)復(fù)制。當(dāng)兩個(gè)對(duì)象共享同一份數(shù)據(jù)時(shí),數(shù)據(jù)內(nèi)容不改變,則不進(jìn)行數(shù)據(jù)的復(fù)制,即將深拷貝和淺拷貝結(jié)合起來(lái)使用。

QString使用時(shí)在連續(xù)的內(nèi)存塊上保存字符串,QString內(nèi)存分配策略如下:

  • 范圍0~20:每次4個(gè)字符。
  • 范圍20~4084:每次2倍。
  • 范圍4084~∞:每次2048個(gè)字符。

+:連接字符串

QString str1 = "I ";
QString str2 = "LOVE ";
QString str3 = "YOU";
QString str4 = str1 + str2 + str3; //I LOVE YOU

append():追加字符串

QString str1 = "Hello ";
QString str2 = "World";
str1.append(str2);//Hello World
str1.append("!");//Hello World !

sprintf():賦值/連接/追加字符串

QString str;
str.sprintf("%s","Nice to ");//str = Nice to
str.sprintf("%s %s","Nice to ", "meet you");//str = Nice to meet you

arg():同上

QString str;
str = QString("My name is %1, I'm %2 old.").arg("Paul").arg("17").
//str = My name is Paul, I'm 17 old.

insert():特定位置插入字符串

QString str = "This is test code.";
str.insert(8,"not ");
//str = This is not test code.

prepend():開(kāi)頭插入字符串

QString str = "This is test code.";
str.prepend("Oh! ");
//str = Oh! This is test code.

replace():替換原字符串某些字符

QString str = "This is test code.";
str.replace(13,5,"data.");
//str = This is test data.

trimmed():移除字符串兩端的空白字符

QString str = "   This is test code.   ";
QString str1 = str.trimmed();
//str = This is test code.

simplified():移除兩端空白字符,使用單個(gè)空格字符“ ”替代

QString str = "   This is test code.   ";
QString str1 = str.simplified();
//str = " This is test code. "

startsWith():檢查字符串是否以某個(gè)字符串開(kāi)頭,Qt::CaseSensitive指定

QString str = "This is test code.";
bool result = str.startsWith("This",Qt::CaseSensitive);
//result = true
QString str = "This is test code.";
bool result = str.startsWith("is",Qt::CaseSensitive);
//result = false

endsWith():功能同上,檢查結(jié)尾。

QString str = "This is test code.";
bool result = str.endsWith("code.",Qt::CaseSensitive);
//result = true
QString str = "This is test code.";
bool result = str.endsWith("is",Qt::CaseSensitive);
//result = false

contains():判斷一個(gè)字符串是否出現(xiàn)過(guò)。

QString str = "This is test code.";
bool result = str.contains("code.",Qt::CaseSensitive);
//result = true
QString str = "This is test code.";
bool result = str.contains("what",Qt::CaseSensitive);
//result = false

localeAwareCompare(const QString&, const QString&):比較兩個(gè)字符串,前小于后返回負(fù)值,相等返回0,大于返回正值。此比較時(shí)基于平臺(tái)相關(guān)的本地字符集。

qDebug()<<"Result:"<<QString::localeAwareCompare("good","bad");
//Result: 1

compare((const QString&, const QString&,Qt::CaseSensitivity):指定是否進(jìn)行大小寫(xiě)比較,用法同上。

<:比較是否小于,是則返回true。

<=:比較是否小于等于,是則返回true。

==:比較是否相等,是則返回true。

>=:比較是否大于等于,是則返回true。

>:比較是否大于,是則返回true。

......

toInt():轉(zhuǎn)整型。

toDouble():轉(zhuǎn)雙精度浮點(diǎn)型。

toFloat():轉(zhuǎn)浮點(diǎn)型。

toLong():轉(zhuǎn)長(zhǎng)整型。

toLongLong():轉(zhuǎn)64位長(zhǎng)整型。

......

QByteArray():QString會(huì)返回一個(gè)const char *的QByteArray,既可以存儲(chǔ)原始字節(jié),也可以存儲(chǔ)以“\0”結(jié)尾的8位字符串。

QString str = "I'm good man";
QByteArray ba = str.toAscii();
ba.append("yes,very good");

toAscii():返回一個(gè)ASCII編碼的8位字符串。

toLatin1():返回一個(gè)Latin-1(ISO8859-1)編碼的8位字符串。

toUtf8():返回一個(gè)UTF-8編碼的8位字符串,UTF-8是ASCII碼的超集,它支持整個(gè)Unicode字符集。

toLocal8Bit():返回一個(gè)系統(tǒng)本地編碼的8位字符串。

isEmpty():檢查是否空字符串。

isNull():檢查是否為空。

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

到此這篇關(guān)于Qt QString的使用實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Qt QString內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

邢台县| 青铜峡市| 高雄市| 泾源县| 邻水| 息烽县| 策勒县| 裕民县| 武鸣县| 米林县| 正安县| 屯留县| 柯坪县| 阜康市| 肥乡县| 奈曼旗| 八宿县| 黔南| 封开县| 建德市| 保亭| 南平市| 启东市| 多伦县| 年辖:市辖区| 民县| 中超| 渝中区| 洛隆县| 台东市| 浮山县| 铜陵市| 铅山县| 芦溪县| 庆元县| 德清县| 缙云县| 三门县| 乌兰浩特市| 宣威市| 墨竹工卡县|