#include <QCoreApplication>
#include <QByteArray>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QByteArray dataReceivedFromSerialPort;
dataReceivedFromSerialPort.push_back(0x0A);
dataReceivedFromSerialPort.push_back(0x0B);
dataReceivedFromSerialPort.push_back(0x0C);
dataReceivedFromSerialPort.push_back(0x0D);
dataReceivedFromSerialPort.push_back(0x0E);
dataReceivedFromSerialPort.push_back(0x0F);
dataReceivedFromSerialPort.push_back(0x07);
dataReceivedFromSerialPort.push_back(0x02);
dataReceivedFromSerialPort.push_back(0x01);
dataReceivedFromSerialPort.push_back(0x02);
qDebug() << "tostr: " << dataReceivedFromSerialPort.toStdString().c_str();
return a.exec();
}
위의 값은 인쇄되지 않습니다. "tostr :"이상의 내용은 인쇄하지 않습니다. uchar에 0x0A를 저장하고 qByteArray에 푸시하면이 문제가 사라집니다.qDebug를 통해 qByteArray 인쇄
현재 양식으로 인쇄하려면 어떻게해야합니까?
왜 세계에서 단지'qDebug() << dataReceived; '를 사용하는 대신에 이러한 변환을 수행해야합니까? – peppe
예제는 설계된대로 작동합니다. 나는 네가하려는 것을 이해하지 못한다. 인쇄 할 수없는 코드를 인용하고 싶다면 명시 적으로 지정해야합니다. 'dataReceivedFromSerialPort'는 로컬 인코딩, 즉 UTF-8에 있어야합니다. 그것이 아니라면, 그것을 당신에게 보여주기 위해 마사지하는 것입니다. –