我需要在qbytearray的第一个位置添加一个quint16,并且在读完它后:我该怎么做?
我试过这个:
quint16 pos = 0;
QFile file(m_pathFile);
if (file.open(QFile::ReadOnly))
{
qDebug() << "el fichero existe";
m_udpSocket->bind(m_port);
QByteArray datagram;
while (!file.atEnd())
{
datagram.begin();
datagram.append(pos++);
datagram = file.read(m_blockSize);
qDebug() << "Sec" << datagram.at(0);
}
}非常感谢你
我得到了add:
datagram.begin();
datagram.setNum(pos, 10);
datagram.append(file.read(m_blockSize));但我不知道当我读它的时候
谢谢
发布于 2012-02-03 00:47:19
好的,首先,这个datagram.begin()是无用的,因为它返回了一个你根本没有赋值的迭代器。如果你想在QByteArray的第一个位置插入一个数字,你可以这样做:
datagram.insert(0, QString::number(pos++));要阅读它,最简单的方法是使用如下所示的QTextStream:
QTextStream str(datagram);
quint16 num;
str >> num;另外,在发帖前先看一下docs,因为如果你知道如何搜索,Qt ones真的很简单也很有帮助(相信我,这并不难)。
https://stackoverflow.com/questions/9115875
复制相似问题