26. 使用fgetc()/fputc()实现文件的拷贝

 1 //用fgetc()/fputc()实现文件的拷贝
 2 #include <stdio.h>
 3 #define F_PRINT_ERR(e)\
 4 do\
 5 {\
 6     if(e == NULL)\
 7     {\
 8       printf("open error");\
 9       exit(-1);\
10     }\
11 }\
12 while(0)
13 int main(int argc,char* argv[])
14 {
15 
16 //基本实现:
17     FILE* pfr = fopen("G:/qtcode/pfr.txt","r");
18     F_PRINT_ERR(pfr);
19 
20     FILE* pfw = fopen("G:/qtcode/pfw.txt","w+");
21     F_PRINT_ERR(pfw);
22     char ch;
23     while((ch = fgetc(pfr)) != EOF)
24     {
25         putchar(fputc(ch,pfw));//顺便打印在屏幕上
26     }
27     fclose(pfr);
28     fclose(pfw);
29     
30 #if 0
31 //实现CP命令
32     FILE* pfr = fopen(argv[1],"r");
33     F_PRINT_ERR(pfr);
34     
35     FILE* pfw = fopen(argv[2],"w+");
36     F_PRINT_ERR(pfr);
37     while((ch = fgetc(pfr)) != EOF)
38     {
39         putchar(fputc(ch,pfw));//顺便打印在屏幕上
40     }
41     fclose(pfr);
42     fclose(pfw);
43 #endif
44 
45     return 0;
46 }

 

posted @ 2018-08-14 14:33  2018年8月10日注册  阅读(423)  评论(0编辑  收藏  举报