Ich habe ein Problem, das seit über einer Stunde abgehört hat und beschlossen, nur hier zu fragen. Gibt es eine geeignete Möglichkeit, ein QByteArray in ein char umzuwandeln? Ich habe es geschafft, es als Char * arbeiten zu lassen, aber ich muss es als Char übergeben.QByteArray Umwandlung in Char (nicht char * oder constChar *)
ist hier ein Code-Bit, wo ich die QByteArray nehmen und wandeln es * auf 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);
}
Soll ich versuchen, ch verkohlen zu konvertieren? Wenn ja, wie soll ich das machen?
Es ist irgendwie unklar, was Sie wollen. nur char - ist 1 Zeichen – Starl1ght
Ich bin dabei, zusätzlichen Code hinzuzufügen. Gib mir eine Sekunde. :) –
Warum? Wofür möchtest du ein * einzelnes Zeichen *? Wie könnte eine ganze Zeichenkette jemals in das einzelne Byte passen, das ein 'char' liefert? Was ist das * aktuelle * Problem, das Sie lösen möchten ([Lesen über das XY-Problem] (http://xyproduk.info/))? –