回复: 怎样通过QDataStream向串口发送一个int型数组
#6 [yuyu414 03-25 15:01]
int a = 0x1234;
QByteArray ba;
memcpy(ba.data(), &a, 4);
serialPort->write(ba);
#7 回 yuyu414 的帖子 [jlh94 03-25 18:32]
yuyu414:int a = 0x1234;
QByteArray ba;
memcpy(ba.data(), &a, 4);
serialPort->write(ba); (2016-03-25 15:01)
memcpy是什么函数啊
#8 回 yuyu414 的帖子 [realfan 03-29 15:45]
yuyu414:int a = 0x1234;
QByteArray ba;
memcpy(ba.data(), &a, 4);
serialPort->write(ba); (2016-03-25 15:01)
memcpy(ba.data(), &a, 4);会有问题
ba的空间有不够的风险,ba的size也无法确定。
这种要么将整数转成字符串,要么用QDataStream
#9 [realfan 03-29 15:50]
用QDataStream可以的
QByteArray baOut;
QBuffer bufferOut(&baOut);
bufferOut.open(QIODevice::WriteOnly);
QDataStream out(&bufferOut);
for(int i = 0; i < 49; ++i)
{
out
#10 [realfan 03-29 15:53]
你这个用可以直接用QByteArray
QByteArray ba((char*)dataSend, sizeof(dataSend)); //注int dataSend[49]要在同一可见范围内,或者用sizeof(int)*49