一个简单的加密程序

只能用文本文件(不知道为什么,下一次写的时候我用二进制操作应该可以了吧,可能是误读了EOF的原因)(加密解密共用一个程序,比如说输入文件地址xxx后会生成一个xxx.dingluo的文件)(原理是把整个文件反着存储一遍,然后把每个字节都用255减一遍)

#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;
int main()
{
	printf("请输入需要加密/解密的文件名(文件大小最多1MB)
"); 
	char s[256],mem[1024*1024+5];//顶多1MB
	scanf("%s",s);
	FILE*fp;
	fp=fopen(s,"r");
	if(fp==NULL)
	{
		printf("输入有误,退出程序
");
		system("pause");
		return 0;
	}
	strcat(s,".dingluo");
	FILE*fp2=fopen(s,"w");
	int p=0;
	while((mem[p]=fgetc(fp))!=EOF)
		p++;
	p--;
	while(p!=-1)
	{
		fputc(255-mem[p],fp2);
		p--;
	}
	fclose(fp2);
	fclose(fp);
	fp=NULL;
	printf("加密/解密成功!转换后的文件名为%s
",s);
	system("pause"); 
	return 0;
}

 2

原文地址:https://www.cnblogs.com/oier/p/6397253.html