Details
-
Bug
-
Resolution: Done
-
P2: Important
-
None
-
4.8.4, 5.0.2
-
Windows 7 (x64)
Description
Please see qdatastreamtest_v4.zip test program. Reproducible on both Qt 4 and Qt 5 environment.
QByteArray fooByteArray; QDataStream fooWriteDataStream(&fooByteArray, QIODevice::ReadWrite); fooByteArray.append((quint32)42); fooByteArray.append(QString("The answer to everything?").toLocal8Bit().constData()); qDebug() << "fooByteArray.constData():" << fooByteArray.constData(); qDebug() << "fooWriteDataStream.status():" << fooWriteDataStream.status(); qint32 value1; char *cStringRead1 = new char[128]; fooWriteDataStream >> value1 >> cStringRead1; qDebug() << "value1:" << value1; qDebug() << "qPrintable(cStringRead1):" << qPrintable(cStringRead1); delete [] cStringRead1; QDataStream fooReadDataStream(&fooByteArray, QIODevice::ReadOnly); qint32 value2; char *cStringRead2 = new char[128]; fooReadDataStream >> value2 >> cStringRead2; qDebug() << "value2:" << value2; qDebug() << "qPrintable(cStringRead2):" << qPrintable(cStringRead2); delete [] cStringRead2;
Output:
fooByteArray.constData(): *The answer to everything? fooWriteDataStream.status(): 0 value1: 710174821 qPrintable(cStringRead1): value2: 710174821 qPrintable(cStringRead2):