QFile::readAll() returs the file's content and moves the "file pointer", i.e. positions the seek position at the end of the file.
So your two subsequent readAll() calls have different results.

Something like this would probably be better
Qt Code:
  1. // on the stack unless you really need the file to remain open after the method ends.
  2. QFile MonFichier(QString("C:/SPLIT/ORIGINAL.wav.001"));
  3. MonFichier.open(QIODevice::ReadOnly);
  4.  
  5. QByteArray MonArray = MonFichier.readlAll();
  6. MonArray->resize(40000000);
  7.  
  8. QBuffer* MonBuffer = new QBuffer(this);
  9. MonBUffer->setData(MonArray);
  10. MonBuffer->open(QIODevice::ReadWrite);
  11. }
To copy to clipboard, switch view to plain text mode 

If you are downloading the file using some Qt I/O classes, you might be able to skip writing to a file, i.e. write the recieved data into the buffer object directly

Cheers,
_