复制二进制文件,但没有成功
编号: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];
此问题由李海回答。
| |
|
|
| |
|
|