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