热情软件屋

 

复制二进制文件,但没有成功


编号:QA003909
建立日期: 2001年2月22日 最后修改日期:2001年2月22日
所属类别:

qwcad:
    操作系统: WINDOWS
    编程工具: C
    问题: 我的目的是复制二进制文件,但没有成功。
    请问?
    #include "stdio.h"
    #include "stdlib.h"
    void main(argc,argv)
    int argc;
    char * argv[];
    {int n;
    char * buf[256];
    FILE *infile,*outfile;
    if (argc!=3)
    {
    printf("Bad Arg Count\n");
    exit(0);
    }
    if ((infile= fopen(argv[1],"rb")) == NULL)
    {
    printf("Can't read %s\n",argv[1]);
    exit(0);
    }
    if ((outfile=fopen(argv[2],"wb"))==NULL)
    {
    printf("Can't write %s\n",argv[2]);
    exit(0);
    }
    /*while (!feof(infile))
    {fputc(fgetc(infile),outfile);
    } */
    do
    { n=fread(buf,4,256,infile);
     if (feof(infile)) break;
     fwrite(buf,4,n,outfile);
    }
    while(n==256);
    /*while(!feof(infile));*/
    fclose(infile);
    fclose(outfile);
    }
    水平: 刚入门

回答:

    你的基本思路是正确的,但是有一个地方错了。那就是:
    char * buf[256];
    应该改为:
    char buf[256*4];

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio