Let there be an executable file say, t1.exe. If I run t1.exe then it shall copy itself to a new executable file say t2.exe.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void main()
{
FILE *fp,*tp;
unsigned long int t=0;
tp=fopen("t2.exe","wb");
//rewind(tp);
if((fp=fopen("t1.exe","rb"))!=NULL)
{
fseek(fp,0L,2);
unsigned long int pos=ftell(fp);
rewind(fp);
do{
fputc(fgetc(fp),tp);
t++;
}while(t!=pos+1);
}
fcloseall();
//system("t2.exe");
printf("End of t1");
getch();
}
t2.exe is created but when I run this it says "t2 has stopped working." I'm using Windows 7(Home Basic) 64bit. The program is compiled with Borland C++ V. 5.02.
And amazingly t1.exe and t2.exe has exactly same file size(in bytes) but still t1.exe works but t2.exe doesn't......don't understand why...??!!
Please reply fast!!! It's URGENT....!!!!
Thnx!