2012-02-02 11 views
0

私はqbytearrayのクイントの位置を追加する必要があります。quint16とそれを読んだ後:どうすればいいですか?quint16 on qbytearray

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); 
    } 
} 

おかげで、あなたは非常に多くの

私が追加しました::

は、私はこれを試してみる

datagram.begin(); 
datagram.setNum(pos, 10); 
datagram.append(file.read(m_blockSize)); 

それは

感謝を読んで、私は知りません

答えて

1

第一に、datagram.begin()は、あなたが全く割り当てないイテレータを返すので役に立たない。あなたが何かを行うことができますQByteArrayの最初の位置に番号を挿入したい場合:また

QTextStream str(datagram); 
quint16 num; 
str >> num; 

:それを読むには

datagram.insert(0, QString::number(pos++)); 

を、最も簡単な方法は、このようなQTextStreamを使用することですあなたが検索方法を知っているならQtのものは本当にシンプルで役立ちます(それはそれほど難しくない、私を信じていない)ので、投稿する前にdocsを見てください。

+0

ありがとうございました。 – Jjreina

関連する問題