我需要添加到QByteArray的4个字节,如帧。(结构(4字节))
我有:
QByteArray byteArray;
QByteArray byteArray2(man.SerializeAsString().c_str(), man.ByteSize()); // 31 byte
qDebug()<<byteArray.size()<<"size"; // 0 bytes
byteArray.resize(3);
qDebug()<<byteArray.size()<<"size"; // 3, ok
byteArray.append(man.ByteSize());
qDebug()<<byteArray.size()<<"size"; // 4
byteArray2.prepend(byteArray);
qDebug()<<byteArray2.size()<<"size"; // return 35, ok
qDebug()<<(byteArray2); // not print my message对不起,我的英语不好。
发布于 2012-01-08 20:27:08
您正在尝试打印一个(应该)以\0字符(二进制0)开头的字符串。\0是一个字符串终止符,qDebug()很可能根本不会打印任何东西。
但是你的代码中有一个bug,你应该这样做:
byteArray.fill(0, 3);而不是resize调用,否则您将在第一个字节中获得随机数据。
https://stackoverflow.com/questions/8777431
复制相似问题