Нужно открыть исходный файл, прочитать из него данные и записать в новый. Получится что-то вроде копирования.
Вот код:
QString strExtractorFile;
strExtractorFile = qApp->applicationDirPath()+"/Extractor.exe";
QString strSFXFile;
strSFXFile = qApp->applicationDirPath()+"/Setup.exe";
QFile fileExtractor(strExtractorFile);
QFile fileSFX(strSFXFile);
if (!fileSFX.open(QIODevice::WriteOnly))
{
// Заглушка на случай ошибки.
} else {
fileSFX.write(fileExtractor.read(fileExtractor.bytesAvailable()), fileExtractor.bytesAvailable());
fileSFX.close();
}
Записывает новый файл, размеры совпадают. Но файл не запускается. Говорит программе не хватает памяти.