我有一个名为QbyteArray
的{{1}},
我想添加一个2字节的数字,如"B2"
。
但当我这样做时300
成为mybyte.size()
我的代码是:
我希望它变成2byte。
3byte!!!!
这是我的输出:
QByteArray B2;
short int myint;
myint=300;
B2.setNum(myint);
qDebug()<<B2[0]<<B2.size();
答案 0 :(得分:3)
QByteArray :: setNum()将字节数组设置为基数为n的打印值(默认为10),并返回对字节数组的引用。基数可以是2到36之间的任何值。
很明显它给你的大小为3,因为你设置了一个3字节的数组。
for (int i = 0; i < 2; i++) {
B2.append(myint >> (i * 8));
}
答案 1 :(得分:0)
如果您尝试添加短值(2字节),则可以执行此操作
B2.append((char)((myint & 0xFF00) >> 8));
B2.append((char)(myint & 0x00FF));
它将以大端顺序附加短值