C/Visual C - DUPLICAR EJECUTABLE.

 
Vista:

DUPLICAR EJECUTABLE.

Publicado por MaC (9 intervenciones) el 10/04/2001 16:55:11
Nesecito, copiar un.exe, intenté con el siguiente código, pero al revisar, el que escrivo tiene un largo mayor en algo as{i como 4,5 KB. Les PIDO AYUDA:

FILE *F;
FILE *Fbis;
char C[200];
BYTE b;

GetWindowsDirectory(C,sizeof(C));
strcat(C,"\\Calc.exe");
F=fopen(C,"r");
GetWindowsDirectory(C,sizeof(C));
strcat(C,"\\Calc1.exe");
Fbis=fopen(C,"w");
for (int i =0; i<=_filelength(_fileno(F));i++)
{
fread(&b,1,1,F);
fwrite(&b,1,1,Fbis);
}

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DUPLICAR EJECUTABLE.

Publicado por Germán B. (143 intervenciones) el 10/04/2001 20:32:56
Fallaron 2 cosas: por un lado el modo de apertura, donde habría que incluir una 'b' indicando que es binario:

F=fopen(C,"rb");
Fbis=fopen(C,"wb");

Luego en la condición del for, cambiá el <= por <.
Fijate que arrancás desde 0, por lo tanto cuando sea igual al tamaño ya hay que salir del ciclo. Con esos dos cambios funciona bien.
G
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar