私が遭遇した特有の事は、私がQByteArray
を投入している箇所で、QStringList
の塊でループしていることです。より正確に言えば、QStringList
は標準QString
をとり、文字列内で " - "が出現するたびに小さなビットに分割します。 Ergo。QString
に"A1-B2-C3-D4-E5"
が含まれている場合、リストに小さなチャンク(list[0]="A1",list[1]="B2",list[2]="C3",...
)が入力されます。しかし、私はQByteArray
を設定するためにそれらのバイトが必要です。ループを使用するときは、その文字を取り、QByteArray
をbytearray[0]="A",bytearray[1]="1",bytearray[2]="2"
といっしょに入れます。私が使用しているコードを考えれば、何が間違っているのだろうと思っていますか?これらの文字ペアは十六進確かにあることはQStringをQByteArrayに16進数ではなく16進数として追加しますか?
QStringList inputArray = input.split('-');
QByteArray output;
for(int i = 0; i < inputArray.count(); i++)
{
output.append(inputArray.at(i).toLatin1());
}
ui->lineEdit->setText(output);
あなたの質問は - 私にとっては少なくとも - 非常に不明です。コードは、掲示されているように、 'output'が' QByteArray( "A1B2C3D4E5") 'と等価であることを期待しています。 –
「あなたと他の人は何が間違っているのだろうか? – dtech
私は何をしたいのでしょうか?バイトバイスを全部追加することです。現在、QByteArrayにはthis bytearray [0] = "A"、bytearray [1] = "1"、bytearray [2] = "B"、私はそれが完全な値すなわちbytearray [0] = "A1"、bytearray [1] = "B2"、bytearray [2] = "C3"を含む必要があります。 –