|
发表于 2013-1-1 00:04:47
|
显示全部楼层
vs2008调试过,虽然逻辑上还有些漏洞,至少可以运行了:)
还有,在不知道运算符优先级的情况下,还是用括号比较保险哦。- #include "stdafx.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include<string.h>
- void main(int argc,char *argv[])
- {
- FILE *in,*out;
- int ch;
- char r[255],w[255];
- if(argc!=3)
- {
- //fprintf(stderr,"标准输入格式: copyfile 源文件 目标文件 \n");
- //exit(EXIT_FAILURE);
- printf("请输入原文件名:\n");
- scanf("%s",r);
- printf("请输入目标文件名:\n");
- scanf("%s",w);
- }
- else
- {
- strcpy(r,argv[1]);
- strcpy(w,argv[2]);
- }
- [color=Red]if((in=fopen(r,"rb"))==NULL)[/color]
- {
- fprintf(stderr,"打不开文件:%s\n",r);
- exit(EXIT_FAILURE);
- }
- [color=Red]if((out=fopen(w,"wb"))==NULL)[/color]
- {
- fprintf(stderr,"打不开文件: %s \n",w);
- fclose(in);
- exit(EXIT_FAILURE);
- }
- [color=Red]while((ch=getc(in))!=EOF)[/color]
- {
- if(putc(ch,out)==EOF)
- {
- break;
- }
- }
- if(ferror(in))
- {
- printf("读取文件%s失败\n",r);
- }
- if(ferror(out))
- {
- printf("写入文件%s失败\n",w);
- }
- printf("成功复制一个文件!\n");
- fclose(in);
- fclose(out);
- return ;
- }
复制代码 |
|