hi, > have you seen https://bugreports.qt.io/browse/QTBUG-56616 ? > Your problem sounds a bit like it, although the bug should be fixed in > Qt 5.6.3.
i have had a look now, and my file is only ~50MB in this case, so this bug should be no problem. besides, i am running on 5.6.3, as i haven't a previous version installed currently. > > i always thought, QFile::write(const QByteArray&) is meant to write all > > data. > > Yes, but it also returns a qint64 that is the number of bytes written. What > did it return in your case? my code was: qint64 res = f.write(data); with data.size() == 51489714 and res == 33554432 the only possible issue i see is with the 2nd if here in qint64 QFSFileEnginePrivate::nativeWrite(const char *data, qint64 len) if (!WriteFile(fileHandle, data + totalWritten, currentBlockSize, &bytesWritten, NULL)) { if (totalWritten == 0) { // Note: Only return error if the first WriteFile failed. q->setError(QFile::WriteError, qt_error_string()); return -1; } break; } i think it "silently" breaks here without setting error condition on the QFile when hitting errors on all chunks but the first one, thus returning a size lower the input array size, which is the behaviour i see. alex -- /* * printk(KERN_DEBUG "%s: BUG... transmitter died. Kicking it.\n",...) * linux-2.6.6/drivers/net/acenic.c */ _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest