五 Qt中的字串類

2021-07-26 15:30:48 字數 2116 閱讀 8510

qt是一種c++gui程式開發框架,因此可以使用c++提供的字串(1、c風格字串:以」\0」結尾的字元陣列2、字串類string)也可以使用qt自己的字串類qstring

使用qstring類的好處:

採用16位unicode值

使用隱式共享技術來節省記憶體和避免不必要的資料拷貝

跨平台相容性

隱式共享:

qstring類的部分操作:

1、組合字串:

1)使用過載的二元操作符       operator+ 或operator+= 將乙個字串加到另乙個字串末尾,使用方式類似於c++中的字串類string

3)使用成員函式sprintf() 將格式化資料寫入字串,類似c++中的sprintf

4)使用成員函式arg() 例子:qstring str = qstring(「%2 was born in %1.」).arg(「1982」).arg(john);

得到結果qstring str = 「john was born in 1982」; //」%2」被替換為」john」 「%1」倍替換為」1982」

5)使用成員函式insert()在原字串特定位置插入另乙個字串

6)使用成員函式prepend()在原字串開頭插入另乙個字串

7)使用成員函式replace()用指定字串代替原字串中某些字元

2、去掉空白字元(回車符』\r』換行符』\n』製表符』\t』空格符』 』等) :

1)使用成員函式trimmed()移除字串兩端的空白字元

2)使用成員函式simplified()移除字串兩端的空白字元,並將字串中間的空白字元替換為乙個空格

3、分割/移除字串:

(1)、使用成員函式split()將乙個字串分割為多個子串(qstringlist)

(2)、使用成員函式remove()移除指定位置的多個字元

4、查詢字串資料:

(1)、成員函式startswith() 判斷乙個字串是否以某個指定的字串開頭

(2)、成員函式endswith()判斷乙個字串是否以某個指定的字串結尾

(3)、成員函式contains()判斷乙個指定的字元/字串是否出現過

(4)、成員函式right() 得到含有字串最右n個元素的子串

(5)、成員函式left() 得到含有字串最左n個元素的子串

(6)、成員函式mid() 得到含有字串中下標為n開始的元素的子串

(7)、成員函式indexof 獲取乙個指定的字元/字串在字串中的位置

(8)、成員函式count() 獲取乙個指定的字元/字串在字串中出現的次數

(9)、過載的陣列訪問操作符operator獲取字串中指定位置的字元(qchar)的引用

(10)、成員函式at() 作用與operator一致,但是更快,因為他不會引起深拷貝

5、比較字串:

(1)、過載的運算子operator<、> 、==、<=、>=

(2)、成員函式compare

6、轉換操作:

(1)、成員函式toint() 、todouble()、tolong()等

(2)、靜態成員函式number()將數字轉化為某種機制的字串

(3)、成員函式tolower()獲取字串的小寫副本

(4)、成員函式toupper()獲取字串的大小副本

7、null字串與空字串:

null字串使用的qstring類的預設建構函式或在建構函式中傳遞了0構造的qstring類物件

空字串是大小為0的字串

null字串一定是空字串,空字串不一定是null字串

例如:null字串:

qstring().isnull();              //true

qstring().isempty();          //true

空字串:

qstring(「 」).isnull();         //false

qstring(「 」).isempty();     //true

Qt中的字串類

在c語言中 c 的解決方案 標準庫stl中的字串 stl的缺陷 不同廠商的編譯器所帶的stl存在差異。依賴於stl開發的c 程式在不同平台上的行為可能出現差異!那麼我們開發中對於庫的選擇也需要有所考慮 專案是否需要在不同平台間移植?專案是否需要圖形使用者介面?qt中的字串類 qstring的優點 q...

Qt中的字串類QString

qt下面,字串都用qstring,確實給開發者提供了方便,想想vc裡面定義的各種變數型別,而且函式引數型別五花八門,經常需要今年新那個型別轉換 qt再使用第三方開源庫時,由於庫的型別基本上都是標準的型別,字串遇的多的就是char 型別 在qt下怎樣將qstring轉char 呢,需要用到qbytea...

字串,QT字串類,c 字串類之間的轉換

1.std string轉換成qstring string std str abc qstring q str qstring fromstdstring std str 2.qstring轉換成std string qstring q str abc string q str.tostdstrin...