Qt字串處理

2021-09-29 18:24:15 字數 1684 閱讀 7276

1、從qt操作得到的字串都是utf-

8,但如果使用標準c庫函式,如果包含中文,如果qt在windows環境下,則標準c庫函式則需要gbk編碼

qtextcodec *codec = qtextcodec:

:codecforname

("gbk");

//需要標頭檔案#include

//codec->fromunicode();//把utf8轉化為gbk

char

*file = codec->

fromunicode

(filename)

.data()

;//filename為qstring型別

//或者

const

char

*file = codec->

fromunicode

(filename)

.tostdstring()

.data()

;2、qt控制項顯示中文,必須是utf-

8才能正常顯示

fgets

(buf,

sizeof

(buf)

, fp)

;//假如從檔案中讀取到中文內容為gbk編碼

qstring str = codec->

tounicode

(buf)

;//把乙個gbk編碼的字串轉化utf8

3、qstring和char

*轉換qstring為qt字串型別

qstring str =

"hello world"

;const

char

*p = str.

tostdstring()

.data()

;//qstring -> const char *

char

*p =

"hello world"

;qstring str = p;

//char * -> qstring

4、qstring常用操作

1)字串匹配子串替換

qstring str =

"mike.c"

;str = str.

replace

(".c",""

);//str中的.c替換為空字元

2)字串累加

qstring str1 =

"hello"

;char

*p =

"world"

;qstring str2 =

"mike"

;qstring txt = str1 + p + str2;

//txt = "helloworldmike";

3)格式化字串

qstring cmd =

qstring

("gcc %1 -o %2").

arg(

"mike.c").

arg(

"demo");

//"mike.c"放%1的位置,"demo"放%2的位置

//結果為 cmd = "gcc mike.c -o demo"

4)字串清空

qstring str =

"mike.c"

;str.

clear()

;

字串處理 字串反轉

請原諒博主今天很閒,於是乎博主又開始更新微博了。這次要更新的問題是 編寫乙個函式,反轉乙個單詞的順序。例如 do or do not,there is no try.就要反轉成 try.no is there not,do or do 大家要認真看看這道題,這道題和大家想象的貌似有點不同。首先字串反...

QT 字串中文

qstring內部採用unicode編碼方式,當字串存在中文時,需要根據系統的本地編碼方式進行轉換。一般在window開發環境裡,是gbk編碼,在linux開發環境裡,是utf 8編碼。通過qtextcodec類轉換字串編碼。示例qstring轉const cahr qtextcodec codec...

Qt操作字串

1.例 qstring str1 hello qstring str2 str1 world str2 hello world qstring str1 hello 3.qstring sprintf 例 qstring str str.sprintf s s hello world 4.qstri...