Hola que tal, tengo un inconveniente en el siguiente codigo; el tema es que al unir los 2 exes en uno solo, cuando abro el resultante, solo ejecuta el primer exe que fue unido.
Es decir si como fichero1, pongo: jaja.exe y como fichero2: jeje.exe, al abrir el exe creado por mi, solo ejecuta jaja.exe y no los dos.
Dejo a continuacion el codigo aver quien tiene idea a que se debe:
Código:
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;
char* escribir(string archivo1)
{
char * buffer;
ifstream lectura1(archivo1.c_str(), ifstream::binary);
lectura1.seekg(0, ios::end);
int tamanio1 = lectura1.tellg();
lectura1.seekg(0);
buffer = new char [tamanio1];
lectura1.read(buffer,tamanio1);
lectura1.close();
return buffer;
}
int getTamanio(string archivo1)
{
ifstream lectura1(archivo1.c_str(), ifstream::binary);
lectura1.seekg(0, ios::end);
int tamanio1 = lectura1.tellg();
lectura1.seekg(0);
lectura1.close();
return tamanio1;
}
void crearFichero(string archivo1, char* buffer1, char* buffer2, int tamanio1, int tamanio2){
ofstream escritura1(archivo1.c_str(), ofstream::binary);
escritura1.write(buffer1, tamanio1);
escritura1.write(buffer2, tamanio2);
escritura1.close();
}
int main()
{
string ruta;
string ruta2;
string destino1;
string destino2;
cout << "Ingresar ruta fichero1: " << endl;
cin >> ruta;
char* buffer = escribir(ruta);
cout << "Ingresar ruta fichero2: " << endl;
cin >> ruta2;
char* buffer2 = escribir(ruta2);
cout << "Ingresar ruta destino: " << endl;
cin >> destino1;
crearFichero(destino1, buffer, buffer2, getTamanio(ruta), getTamanio(ruta2));
delete[] buffer;
delete[] buffer2;
return 0;
}
Gracias