《嗨翻C语言》随书练习三 数据类型及分而治之
编辑时间:2017-03-26 作者:金满斗 浏览量:2073 来源:原创

第3章有些东西似乎不够条件。留着以后补课吧。

第4章才讲数据类型和头文件,我觉得这样的安排也是蛮合理的。不多说了,直接上代码吧。分而治之。


一个简单的异或加密例子

头文件 encrypt.h

/*
自定义异或加密头文件 
*/
void encrypt(char *str);


异或加密函数文件  encrypt.c

/** 自定义简单异或加密库 2016-12-03 
 
**/ 
#include "encrypt.h" 
 
void encrypt(char *str){     //参数为数组指针 
	while(*str){			 //遍历数组 
		*str = *str^51;      //因为chaer是整形,可以直接计算 
	 	str++; 
	}
}

主文件

/** 《嗨翻C语言》随书练习 4章 数据类型及分而治之   2016-12-03
	里面讲了一些编译技巧,以后再补课吧 
	xiousheng@126.com 
**/ 
 
#include <stdio.h> 
#include "encrypt.c"    //自定义异或加密的库
 
void encryption();    //定义加密函数 
void Decrypt();     //节目函数 
 
 
int main(){
	encryption();
	Decrypt(); 
} 
 
 
void Decrypt(){
	FILE *fp = fopen("1.txt","r");
	if(fp != NULL){
		char msg[80];
		fgets(msg,80,fp); //从输入文件读取一行字符串
		printf("1.txt里文本读出:%s\r\n",msg);
		encrypt(msg);
		printf("1.txt里文本解密:%s\r\n",msg);	
	}
	fclose(fp);  
 
} 
 
 
void encryption(){
	char msg[80];
	printf("请输入要加密的文本\r\n");
	fgets(msg,80,stdin);
	encrypt(msg);      //调用自定义库里的异或加密函数 
	printf("%s\r\n",msg);
	FILE *fp;
	fp = fopen("1.txt","w");
	if(fp != NULL){
		fprintf(fp,"%s",msg);
		
	}
	fclose(fp);  
	printf("文本加密并保存到了1.txt文件\r\n");
}

一些简单的容易忘记的直接截图吧。


来说两句吧