C'est le code que j'ai, mais le fichier est un peu plus petit et n'exécute pas:Comment copier le code binaire d'un exécutable dans un nouveau fichier sans utiliser de commande de copie système?
int WriteFileContentsToNewFile(string inFilename, string outFilename)
{
ifstream infile(inFilename.c_str(), ios::binary);
ofstream outfile(outFilename.c_str(), ios::binary);
string line;
// Initial read
infile >> line;
outfile << line;
// Read the rest
while(infile)
{
infile >> line;
outfile << line;
}
infile.close();
outfile.close();
return 0;
}
Qu'est-ce que je fais mal? Y at-il une meilleure façon de lire dans le binaire d'un fichier exécutable et immédiatement l'écrire à un autre nom? Des exemples de code?
Je dois le faire sans copie système pour simuler l'écriture sur disque.
Vous utilisez des E/S formatées. Jetez un oeil à 'read' et' write' dans 'fstream'. – AraK
Merci AraK, le formatage me gâchait. J'ai utilisé le code exact de http://www.cplusplus.com/reference/iostream/ostream/write/ et cela a fonctionné exactement comme je le voulais. –