QString和char字符串數組之間的轉換


做串口通信時,碰到這樣的問題,在Qt的界面中,我用QLineEdit對象負責顯示發送和接收的文本,對其中的數據進行讀取和顯示使用的數據類型都是QString;但是,在對串口設備進行讀寫時,數據使用的形式都是char型指針(不知道是不是我理解的不透徹),所以就要解決QString和char型數組之間的轉換。

查閱了一些資料,並經過自己的驗證,找到了下面的解決辦法:

1、char型數組或字符串指針轉換成QString

char str_data[512];

QString qs_data;

............

qs_data = QString::fromLocal8Bit(str_data,512); //當然也可以用強制類型轉換QString(str_data)

2、QString類型轉換為 char指針類型

const char * str_data; //這里一定要加上const,否則會報錯!

QString qs_data;

...........

str_data = qs_data.ascii();

這里我只給出了一種轉換方法,並經過我的驗證是可以使用的。其實還有很多辦法可以實現轉換,並可能比這個簡單很多,大家可以嘗試下!

這里給希望深入學習Qt的朋友介紹個很好的網站,自己感覺很受用,可能很多人都知道這個網址:http://doc.trolltech.com/3.3/index.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM