我编了一段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^谢谢



 
											





 
	    

 
	