我编了一段c的程序,意图是想把一个文件夹中的*.exe文件复制到另一个文件夹中,以下是我编的代码,不知哪里出错了,复制的exe文件运行的和原文件完全不一样了~~~崩溃了啊!!!哪位大侠帮忙看看,谢谢 ^o^ :
/*复制c目录下的reg.exe到c目录下的以startup命名的exe文件*/
#include <stdio.h>
#include "string.h"
#include "stdlib.h"
//////////////////////////////////////////////////////////////
int main()
{
int ch;
FILE *fp1,*fp2;
fp1 = fopen("c:\\reg.exe","ab+");//原始文件名为:c:\\reg.exe
if(fp1==NULL)
{
printf("Create StartUpCopy.exe Failed!\n");
fclose(fp1);
return -1;
}
else
{
fp2 = fopen("c:\\startup","wb+");
if(fp2==NULL)
{
printf("Create StartUpCopy.exe Failed!\n");
fclose(fp2);
return -1;
}
else
{
int buffer[65535];
long offset,offset1,offset2;
fseek(fp1,01,SEEK_SET);
offset1 = ftell(fp1);//文件首指针地址
fseek(fp1,01,SEEK_END);
offset2 = ftell(fp1);//文件尾指针地址
offset=offset2-offset1+1;//文件长度
fread(buffer,1,offset,fp1);
fwrite(buffer,1,offset,fp2);
}
//关闭两个文件
fclose(fp1);
fclose(fp2);
}
}
如果这位大虾有更好的程序,不令赐教。^o^谢谢