第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");
}
一些简单的容易忘记的直接截图吧。