亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

+:連接字符串

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():開頭插入字符串

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():移除兩端空白字符,使用單個空格字符“ ”替代

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

startsWith():檢查字符串是否以某個字符串開頭,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():判斷一個字符串是否出現(xiàn)過。

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&):比較兩個字符串,前小于后返回負(fù)值,相等返回0,大于返回正值。此比較時基于平臺相關(guān)的本地字符集。

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

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

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

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

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

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

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

......

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

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

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

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

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

......

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

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

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

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

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

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

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

isNull():檢查是否為空。

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

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

相關(guān)文章

  • C語言用循環(huán)單鏈表實現(xiàn)約瑟夫環(huán)

    C語言用循環(huán)單鏈表實現(xiàn)約瑟夫環(huán)

    這篇文章主要為大家詳細(xì)介紹了C語言用循環(huán)單鏈表實現(xiàn)約瑟夫環(huán),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C++快速排序算法簡明理解

    C++快速排序算法簡明理解

    快速排序由于排序效率在同為O(N*logN)的幾種排序方法中效率較高,因此經(jīng)常被采用,再加上快速排序思想----分治法也確實實用,因此很多軟件公司的筆試面試,包括像騰訊,微軟等知名IT公司都喜歡考這個,還有大大小的程序方面的考試如軟考,考研中也常常出現(xiàn)快速排序的身影
    2022-05-05
  • C++實現(xiàn)LeetCode(114.將二叉樹展開成鏈表)

    C++實現(xiàn)LeetCode(114.將二叉樹展開成鏈表)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(114.將二叉樹展開成鏈表),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 用pybind11封裝C++實現(xiàn)的函數(shù)庫的方法示例

    用pybind11封裝C++實現(xiàn)的函數(shù)庫的方法示例

    這篇文章主要介紹了用pybind11封裝C++實現(xiàn)的函數(shù)庫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • C++ typeid 和虛函數(shù)詳解

    C++ typeid 和虛函數(shù)詳解

    這篇文章主要介紹了c++ typeid 和虛函數(shù)的使用,幫助大家更好的理解和使用c++,感興趣的朋友可以了解下,希望能夠給你帶來幫助
    2021-09-09
  • 基于QT5實現(xiàn)一個時鐘桌面

    基于QT5實現(xiàn)一個時鐘桌面

    這篇文章主要介紹了利用QT5實現(xiàn)的一個時鐘桌面,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以了解一下
    2022-01-01
  • 簡單總結(jié)C語言中的運算符優(yōu)先級

    簡單總結(jié)C語言中的運算符優(yōu)先級

    這篇文章主要介紹了C語言中的運算符優(yōu)先級,文中簡單總結(jié)了一些常用運算符的優(yōu)先級順序以及記憶技巧,需要的朋友可以參考下
    2016-05-05
  • Matlab利用prim算法實現(xiàn)迷宮的生成

    Matlab利用prim算法實現(xiàn)迷宮的生成

    普里姆算法(Prim算法),圖論中的一種算法,可在加權(quán)連通圖里搜索最小生成樹。本文將利用prim算法迷宮生成及其藝術(shù)渲染,感興趣的可以了解一下
    2022-10-10
  • C語言實現(xiàn)三子棋

    C語言實現(xiàn)三子棋

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • C++多線程實現(xiàn)綁定CPU的方法詳解

    C++多線程實現(xiàn)綁定CPU的方法詳解

    這篇文章主要為大家詳細(xì)介紹了C++如何利用多線程實現(xiàn)綁定CPU,文中的示例代碼簡潔易懂,具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-05-05

最新評論