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
14 #define CODE 10
15
16 //加密,生成新的加密文件。
17 #if 1
18 int main(void)
19 {
20 FILE* pfSrc = fopen("G:/qtcode/pfr.txt","r+");
21 F_PRINT_ERR(pfSrc);
22
23
24 FILE* pfDes = fopen("G:/qtcode/pfrcode.txt","w+");
25 F_PRINT_ERR(pfDes);
26
27 char ch;
28
29 while((ch = fgetc(pfSrc)) != EOF)
30 {
31 fputc(ch+CODE,pfDes);
32 }
33 fclose(pfSrc);
34 fclose(pfDes);
35 return 0;
36 }
37 #endif
38
39
40 //解密,生成新的解密文件。
41 #if 0
42 int main(void)
43 {
44 FILE* pfSrc = fopen("G:/qtcode/pfrcode.txt","r+");
45 F_PRINT_ERR(pfSrc);
46
47
48 FILE* pfDes = fopen("G:/qtcode/pfrdecode.txt","w+");
49 F_PRINT_ERR(pfDes);
50
51 char ch;
52
53 while((ch = fgetc(pfSrc)) != EOF)
54 {
55 fputc(ch-CODE,pfDes);
56 }
57 fclose(pfSrc);
58 fclose(pfDes);
59 return 0;
60 }
61 #endif