【发布时间】:2012-02-03 04:13:21
【问题描述】:
此功能对于某些输入无法正常工作,那么错误是什么?
所有项目代码在这里:link
ps:我正在使用“bits.size()%8”等于零的输入
QByteArray bitsToBytes(QBitArray bits) {
QByteArray bytes;
bytes.resize(bits.count()/8);
// Convert from QBitArray to QByteArray
for(int b=0; b<bits.count(); ++b)
bytes[b/8] = ( bytes.at(b/8) | ((bits[b]?1:0)<<(b%8)));
return bytes;
}
【问题讨论】:
-
首先,你想得到什么?你能给我们提供样本输入和输出吗?然后,您的代码似乎几乎是正确的。唯一的建议:在使用变量之前不要忘记初始化变量,例如:
bytes.fill(0);
标签: c++ qt qbytearray