首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >qbytearray上的quint16

qbytearray上的quint16
EN

Stack Overflow用户
提问于 2012-02-03 00:22:36
回答 1查看 1.4K关注 0票数 0

我需要在qbytearray的第一个位置添加一个quint16,并且在读完它后:我该怎么做?

我试过这个:

代码语言:javascript
复制
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:

代码语言:javascript
复制
datagram.begin();
datagram.setNum(pos, 10);
datagram.append(file.read(m_blockSize));

但我不知道当我读它的时候

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-03 00:47:19

好的,首先,这个datagram.begin()是无用的,因为它返回了一个你根本没有赋值的迭代器。如果你想在QByteArray的第一个位置插入一个数字,你可以这样做:

代码语言:javascript
复制
datagram.insert(0, QString::number(pos++));

要阅读它,最简单的方法是使用如下所示的QTextStream

代码语言:javascript
复制
QTextStream str(datagram);
quint16 num;
str >> num;

另外,在发帖前先看一下docs,因为如果你知道如何搜索,Qt ones真的很简单也很有帮助(相信我,这并不难)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9115875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档