QT中字串的相關使用

2021-08-13 02:26:12 字數 1906 閱讀 8715

1.字串分割

qstring

section(qchar

sep,

intstart,

intend=-1,sectionflagsflags=

sectiondefault)

const;

qstring

section(const

qstring

&in_sep,

intstart,

intend=-1,sectionflagsflags=

sectiondefault)

const;

引數分別是1:用什麼符號分割,2:分割的起始位置,3:分割的結束位置。

qstring

str;qstring csv =

"forename,middlename,surname,phone";

qstring path =

str= csv.section(

',',2,

2);// str == "surname"

str= path.section(

'/',3,

4);2.字串擷取

mid(int ,int) 起始位置,擷取長度

left(int),right(int)取左邊的多少位,取右邊的多少位

qstring tr0 = "abcd123";

qstring tr1 = "";

tr1 = tr0.right(2)     //tr1 = "23"

tr1=tr0.mid(0,3);
tr1的結果為"abcd"

3.型別轉換

1,qstring  to  char*

先將qstring轉換為qbytearray,再將qbytearray轉換為char *。

注意:不能用下面的轉換形式char *mm = str.tolatin1().data();。因為這樣的話,str.tolatin1()得到的qbytearray型別結果就不能儲存,最後轉換,mm的值就為空。

應該分為兩步進行:

qstring str = "abcd123";

qbytearray b = str.tolatin1();

char *mm = b.data();

2,char * 轉qstring

可以使用qstring的建構函式進行轉換:qstring(const qlatin1string &str)

qlatin1string的建構函式:qlatin1string(const char *str)

則如下語句是將char * mm轉換為qstring str:

tr = qstring(qlatin1string(mm))

3,int轉qstring

intintch=12;

qstring

strch=

qstring("0000%1").arg(intch);//轉為int,前面補4個零,strch = "000012"

strch =strch.right(2);//取字串右邊的兩位,strch = "12"

實用部分:字串裡的小寫轉大寫

void

uppers(char

*d,char

const*s)

*d=

0;

}
//字串轉換小寫轉大寫
void

stos(qstring

&tmp1)

tmp1=

qstring(qlatin1string(d));

}

Qt中的字串類

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

qt種qdebug字串 QT中的qDebug

首先在標頭檔案中包含 include 當開發者需要為乙個裝置 檔案 字串或者控制台,寫出除錯和跟蹤資訊時,該類被使用。在需要使用的地方插入 qdebug intensity d intensity 0 2 d表示整數 輸出結果 intensity 195 注 a,a 讀入乙個浮點值 僅c99有效 c...

字串相關

30 字串相關 30.1追加字元 nsmutablestring string nsmutablestring alloc init nsstring stroneintro info stringbyreplacingoccurrencesofstring withstring 30.3字串比較 ...