二、使用 getc 和 putc 函数实现文件加密操作
逐个字节加密 : 使用 getc 函数读取一个字节 , 然后加密 , 再用 putc 函数写出一个字节到另外一个文件中 ;
#include <stdio.h> #define SEC 5 int main() { // 打开一个文件 , 以读的方式 // r : 使用读的方式打开一个文件 ; FILE *p = fopen("D:\\a.txt", "r"); // 打开一个文件 , 以写的方式 // w : 如果文件不存在 , 就创建文件 , 如果文件存在 , 就将该文件覆盖 , 总之写出的是一个新文件 ; FILE *p2 = fopen("D:\\b.txt", "w"); char s = 0; while ((s = getc(p)) != EOF){ // 字符自增 s += SEC; // 将读取到的数据写入到 p2 文件中 putc(s, p2); } // 关闭文件 fclose(p); fclose(p2); printf("Main End\n"); return 0; }
执行结果 :
a.txt 内容 :
ABCDEFGHIJKLMNOPQRSTUVWXYZ
加密后的 b.txt 内容 :
FGHIJKLMNOPQRSTUVWXYZ[\]^_
四、使用 getc 和 putc 函数实现文件解密操作
逐个字节加密 : 使用 getc 函数读取一个字节 , 然后解密 , 再用 putc 函数写出一个字节到另外一个文件中 ;
#include <stdio.h> #define SEC 5 int main() { // 打开一个文件 , 以读的方式 // r : 使用读的方式打开一个文件 ; FILE *p = fopen("D:\\b.txt", "r"); // 打开一个文件 , 以写的方式 // w : 如果文件不存在 , 就创建文件 , 如果文件存在 , 就将该文件覆盖 , 总之写出的是一个新文件 ; FILE *p2 = fopen("D:\\c.txt", "w"); char s = 0; while ((s = getc(p)) != EOF){ // 字符自减 s -= SEC; // 将读取到的数据写入到 p2 文件中 putc(s, p2); } // 关闭文件 fclose(p); fclose(p2); printf("Main End\n"); return 0; }
执行结果 :
b.txt 内容 :
FGHIJKLMNOPQRSTUVWXYZ[\]^_
加密后的 c.txt 内容 :
ABCDEFGHIJKLMNOPQRSTUVWXYZ