QString的常用功能

2021-10-02 01:14:51 字數 2989 閱讀 2949

qstring 類中各函式的作用。

一、字串連線函式。

1、qstring也過載的+和+=運算子。這兩個運算子可以把兩個字串連線到一起。

二、獲取字串某位置的值。

qstring y = x.mid(5, 4); // y == "pine"

1、mid()函式接受兩個引數,第乙個是起始位置,第二個是取串的長度。如果省略第二個引數,則會從起始位置擷取到末尾。正如上面的例子顯示的那樣

2、函式left()和rigt()類似,都接受乙個int型別的引數n,都是對字串進行擷取。不同之處在於,left()函式從左側擷取n個字元,而right()從右側開始擷取。下面是left()的例子:

qstring y = x.left(4); // y == 「pine」

三、獲取字元在字元中的位置。

indexof()

qstring x = 「sticky question」;

qstring y = 「sti」;

x.indexof(y); // returns 0

x.indexof(y, 1); // returns 10

x.indexof(y, 10); // returns 10

x.indexof(y, 11); // returns -1

四、可以檢測字串是不是以某個特定的串開始或結尾。

這段**等價於if (url.left(5) == 「http:」 && url.right(4) == 「.png」)

五、

字串替換函式replace();

trimmed()函式去除字串兩側的空白字元(注意,空白字元包括空格、tab以及換行符,而不僅僅是空格);

tolower()和toupper()函式會將字串轉換成小寫大寫字串;

remove()和 insert()函式提供了刪除和插入字串的能力;

simplified()函式可以將串中的所有連續的空白字元替換成乙個,並且把兩端的空白字元去除,例如" \t 」會返回乙個空格" "。

六、const char *型別的c風格字串與qstring字元之間的轉換。

簡單來說,qstring的+=即可完成這個功能:

str += " (1870)";

這裡,我們將const char * 型別的字串" (1870)"轉換成為qstring型別。

如果需要顯式的轉換,可以使用qstring的強制轉換操作,或者是使用函式fromascii()等。

為了將qstring型別轉成const char *字串,需要進行兩步操作,一是使用toascii()獲得乙個qbytearray型別物件,

然後呼叫它的data()或者constdata()函式,

例如:printf("user: %s\n", str.toascii().data());

為了方便使用,qt提供了乙個巨集qprintable(),這個巨集等價於toascii().constdata(),例如:

printf("user: %s\n", qprintable(str));

我們呼叫qbytearray類上面的data()或者constdata()函式,將獲得qbytearray 內部的乙個const char*型別的字串,

因此,我們不需要擔心記憶體洩漏等的問題,qt會替我們管理好記憶體。不過這也暗示我們,注意不要使用這個指標太長時間,

因為如果 qbytearray被delete,那麼這個指標也就成為野指標了。如果這個qbytearray物件沒有被放在乙個變數中,

那麼當語句結束後,qbytearray物件就會被delete,這個指標也就被delete 了。

七、字串與其它型別的轉換函式。

toint() 轉整型

todouble() 轉雙精度型

tolong() 轉長整型

這些函式都接受乙個bool指標作為引數,函式結束之後將根據是否轉換成功設定為true或者false:

bool ok;  

double d = str.todouble(&ok);

if(ok)

else

整型轉字串型:

1、使用static的函式number()可以把數字轉換成字串。例如:

qstring str = qstring::number(54.3);

2、 也可以使用非static函式setnum()來實現相同的目的:

qstring str;

str.setnum(54.3);

八、qstring則提供了乙個sprintf()函式實現了與c語言中的printf函式相同的功能。

1. str.sprintf("%s %.1f%%", "perfect competition", 100.0); 

這句**將輸出:perfect competition 100.0%

2、另一種格式化字串輸出的函式arg():

str = qstring("%1 %2 (%3s-%4s)").arg("permissive").arg("society").arg(1950).arg(1970);

這段**中,%1, %2, %3, %4作為佔位符,將被後面的arg()函式中的內容依次替換,比如%1將被替換成permissive,

%2將被替換成society,%3將被替換成 1950,%4將被替換曾1970,最後,

這句**輸出為:permissive society (1950s-1970s). arg()函式比起sprintf()來是型別安全的,

同時它也接受多種的資料型別作為引數,因此建議使用arg()函式而不是傳統的 sprintf()。

九、求字串的長度,返回值為int型。

length();

js jq 的常用功能

js的新增屬性和移除屬性 新增 document.getelementbyid down setattribute disabled true 移除 document.getelementbyid up removeattribute disabled jq的新增屬性和移除屬性 新增 up attr...

idea的常用功能

快捷鍵的使用常常能起到事半功倍的效果,話不多說,看下面常用的快捷方式吧。熟練使用絕對大大提高開發速度。一,搜素快捷鍵 1.ctrl n搜素類,相當於eclipse的ctrl shift r 2.ctrl shift n 搜尋所有檔案,包含類,xml,js,web 等 3.ctrl h 檢視類的繼承關...

vim的常用功能

vim三種模式 1.命令模式 1 調整vim工作模式 在vim程式中 set 調整引數 示例 set nu 行號新增 set nonu 取消行號 set mouse a 新增滑鼠選擇 set cursorline行線顯示 注 在vim程式中設定的vim工作方式是臨時的,在vim關閉後會還原,如果要永...