QT QString與char 之間的轉換

2021-05-25 09:34:20 字數 618 閱讀 4061

1.qstring

轉char * 先將

qstring

轉換為qbytearray

,再將qbytearray

轉換為char *

。注意:不能用下面的轉換形式

char *mm = str.tolatin1().data();

。因為這樣的話,

str.tolatin1()

得到的qbytearray

型別結果就不能儲存,最後轉換,

mm的值就為空。

2. char *

轉qstring

可以使用

qstring

的建構函式進行轉換:

qstring(const qlatin1string &str);

qlatin1string

的建構函式:

qlatin1string(const char *str);

則如下語句是將

char * mm

轉換為qstring str

:str = qstring(qlatin1string(mm));

例子:進行除錯,在console處輸出如下內容:

hello

hello

Qt QString與char 之間的相互轉換

直接賦值,或者借助建構函式。char msg asdf123你好 qstring str1 msg qstring str2 qstring msg 方法1 區域性呼叫 正確的寫法 qstring qstr qstring asdf123你好 qbytearray bytearray qstr.to...

char 與char 的區別

乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。其操作方式類似於 資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料 結構中的堆是兩回事,分配方式倒...

char陣列與char指標

1 以字串形式出現的,編譯器會在結尾自動新增 0,思考,為什麼?存在的c語言方法,如strlen s 計算字串的長度,其中s指標。strlen要計算字串長度,必須知道 是結尾,因此使用 0表示結尾。只有字元陣列才有 0的概念,其它型別 int 的陣列沒有這個概念。因為其他型別的陣列或者指標,沒有st...