我有一个问题,一直在窃听一个多小时,并决定只是在这里问。有没有适当的方式将QByteArray转换为char?我设法使它作为char *工作,但我需要将它作为char来传递。QByteArray转换为char(不是char *或constChar *)
下面是一个代码位,我走的QByteArray,并将其转换为char *:
QByteArray MainWindow::checkSum(QByteArray &b)
{
qint16 b_len = b.length();
char xor = 0;
for (int i = 0 ; i < b_len ; i ++)
{
xor = xor^b[i];
}
return b;
}
void MainWindow::on_flipHorzButton_clicked()
{
// getFirmwareVersion = { 0xe6, 0x05, 0x12, 0x00}
QByteArray str;
char ch = checkSum(str).data();
str[0] =0xaa;
str[1] =0xbb;
str[2] =0xcc;
str[3] =0xdd;
str[4] = ch;
printf("%s", str[4]);
serial.write(str, 5);
}
我应该尝试转换CH为char?如果是,我该怎么做?
这是有点不清楚你想要什么。只是字符 - 是1个字符 – Starl1ght
我正在添加额外的代码。给我一秒钟。 :) –
为什么?你想要一个*单个字符*为什么?一个字符串如何能适合'char'提供的单个字节?什么是你想解决的*实际*问题([关于XY问题的相关阅读](http://xyproblem.info/))? –