您的当前位置:首页正文

QString和char字符串数组之间的转换(转)

2021-06-29 来源:好走旅游网
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#Qt

cyq (2013-11-21 9:44:19)view plain

//#include \"myclass.h\"

#include #include #include

int main(int argc, char *argv[]) {

QApplication a(argc, argv);

QString str = “hello”; //QString转char * QByteArray ba = str.toLatin1(); char *mm = ba.data();

qDebug()<QString nn = QString(QLatin1String(mm)); //char *转QString qDebug()<//MyClass w; //w.show(); return a.exec(); }

因篇幅问题不能全部显示,请点此查看更多更全内容