回覆列表
  • 1 # 手機使用者89192265471

      相互轉換,參考示例如下:  1.從QString轉換為char *    要實現把一個QString轉換為char *,一般遵循這樣的步驟:  第一步,對該QString物件呼叫QString的toLatin1()方法,以獲得該字串的latin1值。    注意toLatin1()的原型如下:QByteArray QString::toLatin1 () const  它將返回一個QByteArray。    示例:  QString qstr = "convert"  QByteArray ba = qstr.toLatin1();    第二步,對第一步得到的QByteArray物件呼叫data()方法,以獲得指向儲存於這個陣列中資料的指標。  示例:  const char *cstr = ba.data();    完整的一個控制檯程式如下:  int main(int argc, char **argv)  {  QApplication app(argc, argv);  QString qstr = "convert";  QByteArray ba = qstr.toLatin1();  const char *cstr = ba.data();  printf("cstr: %s", cstr); //輸出顯示  return app.exec();  }    當然也有其他方法,基本的差異在於使用toLatin1()還是使用QString的toStdString方法,或者是QString的.toLocal8Bit()方法,後續步驟不變。大家可以自行試驗。  2.把char*轉換為QString。  最為方便的做法是以一個QLatin1String物件作為引數,來呼叫QString的建構函式。  示例:  const char *cstr;  QString qstr= QString(QLatin1String(cstr));

  • 中秋節和大豐收的關聯?
  • 牛黃長什麼樣子?