Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/09/2010, 13:00
krosty_ufc
 
Fecha de Ingreso: octubre-2008
Mensajes: 47
Antigüedad: 15 años, 6 meses
Puntos: 0
Exe solo abre un exe en vez que los 2.

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