怎樣把QString轉換為char 或者相反?

2021-05-23 14:25:37 字數 838 閱讀 4726

這個問題其實也屬於老生常談了。也有不少朋友聊過。

我這裡把它總結一下吧。

1.從qstring轉換為char *

要實現把乙個qstring轉換為char *,一般遵循這樣的步驟:

第一步,對該qstring物件呼叫qstring的tolatin1()方法,以獲得該字串的latin1值。

它將返回乙個qbytearray。

示例:qstring       qstr = "convert"

qbytearray ba = qstr.tolatin1();

第二步,對第一步得到的qbytearray物件呼叫data()方法,以獲得指向儲存於這個陣列中資料的指標。

示例:const char *cstr = ba.data();

完整的乙個控制台程式如下:

qstring qstr = "convert";

qbytearray ba = qstr.tolatin1();

const char *cstr = ba.data();

printf("cstr: %s", cstr);              //輸出顯示

當然也有其他方法,基本的差異在於使用tolatin1()還是使用qstring的tostdstring方法,或者是qstring的.tolocal8bit()方法,後續步驟不變。大家可以自行試驗。

2.把char*轉換為qstring。

最為方便的做法是以乙個qlatin1string物件作為引數,來呼叫qstring的建構函式。

示例:const char *cstr;

qstring qstr= qstring(qlatin1string(cstr));

怎樣把QString轉換為char 或者相反?

這個問題其實也屬於老生常談了。也有不少朋友聊過。我這裡把它總結一下吧。1.從qstring轉換為char 要實現把乙個qstring轉換為char 一般遵循這樣的步驟 第一步,對該qstring物件呼叫qstring的tolatin1 方法,以獲得該字串的latin1值。注意tolatin1 的原型...

把int轉換為char把int轉換為char

char ultoa unsigned long value,char string,int radix 將無符號整型數value轉換成字串並返回該字串,radix為轉換時所用基數 char ltoa long value,char string,int radix 將長整型數value轉換成字串並...

Qt 把QString轉換為 double型別

把qstring轉換為 double型別 方法1.qstring str 123.45 double val str.todouble val 123.45 方法2.很適合科學計數法形式轉換 bool ok double d d qstring 1234.56e 02 todouble ok ok ...