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...