博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C 读写文件以及简单的文件加密
阅读量:5292 次
发布时间:2019-06-14

本文共 2086 字,大约阅读时间需要 6 分钟。

温习了下文件的读写操作

做下笔记

1》首先是读文件:

1.在对应的文件夹创建 D:\\test\\myTest.txt文件,且输入自己待测试的文字内容。

2.读的代码如下,就会打印出myTest的文件的内容。

int main(){    char *path = "D:\\test\\myTest.txt";    FILE *fp = fopen(path, "r");    char buff[500];    while (fgets(buff, 50, fp))    {        printf("%s", buff);    }    fclose(fp);    system("pause");    return 0;}

2》写文件

比较好理解,直接贴代码

int main() {    char *path = "D:\\test\\myTest_write.txt";    FILE *fp = fopen(path, "w");    if (fp == NULL) {        printf("文件操作失败,直接return");        return 0;    }    char *text = "hello world";    fputs(text, fp);    fclose(fp);    system("pause");    return 0;}

3》读写非文本文件(读二进制文件)

int main() {    char * read_path = "D:\\test\\myTest.jpg";    char * write_path = "D:\\test\\myTest_write.jpg";    //读    FILE * read_fp = fopen(read_path, "rb");//注意传入的属性值    //写(实际上就是复制一份)    FILE * write_fp = fopen(write_path, "wb");    char buff[50];    int len = 0;    while ((len = fread(buff, sizeof(char), 50, read_fp)) != 0)    {        fwrite(buff, sizeof(char), len, write_fp);    }    fclose(read_fp);    fclose(write_fp);    system("pause");    return 0;}

看了上面,是不是有一点点小成就了呢?都可以读取任意的文件的内容了

额,没感觉到啥啊。那说明你要好好思考如何举一反三了。

可读可写,是不是就意味着可以对文件的数据进行操作,让别人看不了文件内容呢?

答案是肯定的,那就可以写一个简单的文件加密程序吧。

直接贴成果:

加密解密方法:

void myEncodeAnDecode(char prePath[], char resultPath[], int password) {    FILE * normal_fp = fopen(prePath, "rb");    FILE * encode_fp = fopen(resultPath, "wb");        int ch;    while ((ch = fgetc(normal_fp)) != EOF){        fputc(ch ^ password, encode_fp);    }    fclose(normal_fp);    fclose(encode_fp);}

然后看应用:

int main() {    char * oriPath = "D:\\picLibrary\\xiaoHuangTu.png";//原文件,加密后可删除掉,防止别人查看    char * showOthersPath = "D:\\picLibrary\\xiaoHuangEncode.png";//存放加密的文件,给别人看,别人也看不了的文件    char * newPath = "D:\\picLibrary\\xiaoHuangDecode.png";//将加密的文件解密出来的文件,可以自己偷偷的查看    //加密    myEncodeAnDecode(oriPath, showOthersPath, 100);//密码随便搞个100    //解密    myEncodeAnDecode(showOthersPath, newPath, 100);    system("pause");    return 0;}

这就是一个简单的文件夹解密的核心程序。不妨可以自己去试试,将自己的私密照片视频啥的加密。是不是666呢?

 

转载于:https://www.cnblogs.com/bokezhilu/p/7620477.html

你可能感兴趣的文章
Educational Codeforces Round 26 D dp,思维
查看>>
Spring Boot使用Servlet、Filter或Listener的方式
查看>>
ecshop中 transport.js/run() error:undefined
查看>>
POJ 1321 棋盘问题(DFS)
查看>>
mybatis中if及concat函数的使用
查看>>
第四周作业
查看>>
在ListView中获取当前行的索引
查看>>
Android 创世纪 第一天
查看>>
[重温数据结构]一种自平衡二叉查找树avl树的实现方法
查看>>
Java并发编程实战 第3章 对象的共享
查看>>
多线程系列(三):线程池基础
查看>>
【转载】数据库读写分离和垂直分库、水平分表
查看>>
String、StringBuffer和StringBuilder的区别
查看>>
mac terminal基本命令
查看>>
IntelliJ Idea 2017 免费激活方法
查看>>
Java适配器模式
查看>>
SetThreadAffinityMask 把线程限定在CPU上运行
查看>>
初学VUE2.0
查看>>
人不自控必自毁
查看>>
shiro配合html页面完成细粒化权限控制
查看>>