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