加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

小白C语言编程实战(23):文件加密(文件读写、文件指针)

发布时间:2022-11-19 15:02:07 所属栏目:安全 来源:转载
导读: 文章目录
题目
对给定的文件file1.txt,请编程读取该文件的内容,并将其内容“加密”,规则是:每个英文字母转换为其在26个字母表中后面第4个字母(比如字母A变成字母E,以此类推)文档内容

文章目录

题目

对给定的文件file1.txt,请编程读取该文件的内容,并将其内容“加密”,规则是:每个英文字母转换为其在26个字母表中后面第4个字母(比如字母A变成字母E,以此类推)文档内容加密,26个字母首尾相连构成环;非英文字母则不作改变。加密后的密文写入文件file2.txt。

提示和要求

(1)请定义文件指针,分别指向文件file1.txt和file2.txt,并通过指针读写相应文件。具体定义为:

FILE *pin, *pout; 

其中pin指向file1.txt, pout指向file2.txt。

注意:务必使用给定名字pin、pout定义文件指针!

参考代码

#include 
#include 
#define N 1024
int main() {
	FILE *pin, *pout;
	
	pin = fopen("file1.txt", "rb");
	pout = fopen("file2.txt", "wb");
	char buf[N];
	size_t cnt;
	while((cnt=fread(buf,sizeof(char),N, pin)) > 0) {
		int i;
		for(i=0;i<cnt;i++) {
			char c = buf[i];
			if(c>='a' && c<='z') {
				int pos = (c-'a') + 4;
				if(pos > 25) {
					pos %= 26;
				}
				c = (char)('a'+pos);
			} else if(c>='A' && c<='Z') {
				int pos = (c-'A') + 4;
				if(pos > 25) {
					pos %= 26;
				}
				c = (char)('A'+pos);
			}
			//输出字符到pout文件 
			fputc(c, pout);
		}
	}
	//最后关闭打开的文件 
	fclose(pin);
	fclose(pout);
	return 0;
}

(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!