运行环境 qt4.7.4,win7 64位
希望实现通过
串口接收16进制,并把它以10进制
显示在textBrowser上,
问题是(我是通过串口助手发送的)发送一个FF,软件能正常显示"255 ”,如果发送FF FF(类似的还有00 64,064),显示"66535 0",我用单步调试来看,b的值是"66535",没问题,可是一显示出来就多个0?但是只发两位数的话(如FF,11, 6A。。。。)不会有0给出来。请问如何解决?把多余的0给去掉。
部分代码:
int i=0;
QByteArray temphex=temp.toHex();//在这段前面是读取串口缓冲区的所有
数据给临时变量temp
char *pp=temphex.data();
char qq[500];
while((qq=*pp)!='\0')
{i++;
pp++;
}
long n = strtol(qq,NULL,16);
QString b=QString::number(n);
ui->textBrowser->insertPlainText(b+" "); //将串口的数据显示在
窗口的
文本浏览器中