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 }