日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT学习:字符串类QString

發布時間:2024/9/30 c/c++ 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT学习:字符串类QString 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

標準C++提供了兩種字符串:一種是c語言風格的以“\0”字符結尾的字符數組:另一種是字符串類String。而Qt字符串類QString的功能更強大。
QString類保存16位Unicode值,提供了豐富的操作、查詢和轉換等函數。該類還進行了使用隱式共享高效的內存分配策略等多方面的優化。

一、操作字符串

字符串有如下幾個操作符。
(1)”+“操作符用于組合兩個字符串,并提供了一個”+=“操作符用于將一個字符串追加到另一個字符串的末尾,代碼如圖所示:

QString str1 = "Welcome "; str1=str1+"to you"! QString str2="Hello, " str2+="World! ";

(2)QString::append()函數具有與“+=”操作符同樣的功能,也是在一個字符串的末尾追加另一個字符串,代碼如下:

QString str1= "Welcome "; Qstring str2 = "to "; str1.append(str2); str1. append("you!"); //str1=”Welcome to you!"

(3)QString::sprintf()的功能是組合字符串,此函數支持的格式定義符與c++中的sprintf()是一樣的,代碼如下:

QString str; str.sprintf ("%s"," welcome ") ;//str=" welcome " str.sprintf ("%s",”to you! ") ;//str=”to you! " str.sprintf ("%s%s", ”Welcome ","to you! ") ;//str=”Welcome to you! "

(4)QString::arg()函數是另一種方便的字符串組合方式, 此函數的重載可以處理很多的數據類型。此外,一些重載具有額外的參數對字段的寬度、數字基數或者浮點數精度進行控制。通常,相對于QString::sprintf()函數,QStrig:arg()函數是個比較好的解決方案,因為其類型安全,完全支持Unicode,并且允許改變"%n"參數的順序。例如:

QString str; str=QString("%1 was born in %2.") .arg ("John") .arg(1998) ;//str="John was born in1998.”

(5)其它組合字符串的方法:
insert()函數:在原字符串特定的位置插入身個字符串。
prepend()函數:在原字符串的開頭插入另一個字符串。
replace()函數:用指定的字符串代替原字符事中的某些字符。
(6)有時我們需要取出字符串兩端的空白
QString:trimmed()函數:移除字符串兩端的空白字符。
QString:simplifed()函數:移除字符串兩端的空白字符,使用單個空格字符“ ”代替字符串中出現的空白字符。
例如:

QString str="Welcome \t to \n you! ”; str=str . trimmed() ; //str="Welcome \t to \n you!"

在上述代碼中,如果使用str=str.simplified(), 則str的結果是“Welcome to you!"。

二、查詢字符串數據

(1)QString::startsWith()函數:判斷一個字符串是否以某個字符串開頭。此函數具有兩個參數。第一個參數指定了一 個字符串,第二個參數指定是否大小寫敏感(默認情況下,是大小寫敏感的),代碼如下:

QString str="Welcome to you! "; str. startsWith ("Welcome" , Qt: :CaseSensitive); / /返回true str.startsWith ("you", Qt: :CaseSensitive) ;/ /返回false

(2)QString::endsWith()函數:類似于QString::startsWith()函數,此函數的作用是判斷一個字符串是否以某個字符串結尾。
(3) QString:contains()函數;判斷一個指定的字符串是否出現過,代碼如下:

QString str=" Welcome to you!; str. contains ("Welcome", Qt: :CaseSensitive);//返回true

(4)
operator<(const QString&):比較一個字符串是否小于另一個字符串。如果是,則返回true。
operator<=(const QString&):比較一個字符串是否小于等于另一個字符串。 如果是,則返回true。
operator==(const QString&):比較兩個字符串是否相等。如果相等,則返回true,
operator>=(const QString&)::比較一個字符串是否大于等于另 一個字符串。如果是,則返回true。
localeAwareCompare(const QString&,const QString&):靜態函數,比較前后兩個字符串。如果前面字符串小于后面字符串,則返回負整數值;如果等于則返回0;如果大于則返回正整數值。
compare(constQString&,constQString&,Qt:CaseSensitivity):該函數可以指定是否進行大小寫的比較。

三、字符串的轉換

(1)Qtring:tolnt0函數:將字符串轉換為整型數值,類似函數還有toFloat()、toDonble()、toLong()、toLongLong()等。代碼如下:

QString str="125"; bool ok; int hex=str. toInt (&ok,16) ;//ok=true,hex= 299 int dec=str. toInt (&ok, 10) ;//ok=true, dec=125

(2 )QString提供的字符編碼集的轉換函數將會返回個const char* 類型版本的QByteArray。轉換函數有如下幾種:
toAscii():返回一個ASCII編碼的8位字符串。
toLatin1:返回一個Latin-1 編碼的8位字符串。
toUtf8():返回一個UTF-8編碼的8位字符串。
toLocal8Bit():返回一個系統本地編碼的8位字符串。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的QT学习:字符串类QString的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。