怎樣把QString轉換為char *或者相反?
轉自:http://blog.csdn.net/qter_wd007/article/details/6011292
這個問題其實也屬於老生常談了。也有不少朋友聊過。
我這裡把它總結一下吧。
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));
相關文章
- 關於QString轉換為char*的一點小細節
- 怎樣把Oracle查詢轉換為SQL ServerOracleSQLServer
- Qt中 QString,QByteArray,Qchar,const char* ,char *int 的用法及相互轉換QT
- QT中QString轉const char *的問題QT
- 怎麼把jpg圖片轉為Word文件 怎麼把Word轉換成jpg
- 怎麼樣轉換pdf格式為Word?
- 字串:怎樣轉換字串為數字型別? (轉)字串型別
- Activity轉換為View和把圖片轉換為ViewView
- 字串:怎樣將數字型別轉換為字串 (轉)字串型別
- char轉換成int
- 怎麼把英語影片轉為音訊 怎麼把MP4轉換成mp3音訊
- C++中string、char *、char[]、const char*的轉換C++
- QString與QByteArray互相轉換的方法
- 專案監理怎樣才能為資訊化工程把關(轉)
- 不能將引數 2 從“char [8]”轉換為“LPCWSTR”
- 求助:怎樣把tomcat安裝成xp或者nt的服務?Tomcat
- 用C#把檔案轉換為XML(轉)C#XML
- excel日期格式轉換中,怎樣將“/”轉換成“-”Excel
- 怎麼把圖片文字轉換成word?
- bmp是什麼格式的檔案 怎麼把jpg轉換為bmp
- 把BST轉換為雙向連結串列
- 解霸把MTV歌曲轉換為MP3
- char型別的數值轉換型別
- char(16)列的資料轉換
- js將偽陣列或者集合轉換為陣列JS陣列
- ppt轉換word文件怎麼操作 把ppt轉換成word純文字
- 格式轉換分享:怎麼把mp4轉換成mp3?
- 用手機怎麼把圖片轉換成PDF
- Excel.Application SaveAs 把excel轉換為htmlExcelAPPHTML
- string與char陣列相互轉換陣列
- to_char函式格式轉換參考函式
- 【CDB】怎樣轉換non-CDB to CDB
- windows10電腦怎麼把騰訊qlv轉換成為mp4Windows
- win10如何把mbr轉為gpt_win10系統mbr怎麼轉換成gptWin10GPT
- long2varchar 把long轉換為varchar2
- 用CLR函式把HTMLCode轉換為原字元函式HTML字元
- CoffeeScript攻略3.2:把字串轉換為小寫形式字串
- CoffeeScript攻略3.3:把字串轉換為大寫形式字串