当前位置: 首页 > news >正文

c语言题加密文件,请高手指教!C语言文件加密题!

#include "stdio.h"

#include "stdlib.h"

void main(int argc,char *argv[])

{

FILE *fp1,*fp2,*fp3;

char ch;

/* 看看参数是否对 */

if(argc!=4)

{

printf("sorry error!");

exit(0);

}

/* 读原文件 */

if((fp1=fopen(argv[1],"r"))==NULL)

{

printf("cant open %s \n",argv[1]);

exit(0);

}

/* 加密的程序 */

if((fp2=fopen(argv[2],"w"))==NULL)

{

printf("cant open %s \n",argv[2]);

exit(0);

}

for(; (ch=fgetc(fp1))!=EOF; )

{

putch(ch); /*输出第一个文件的内容*/

ch=ch +4;

fputc(ch,fp2);

}

printf("\n"); /*你要的换行*/

fclose(fp1);

fclose(fp2);

/* 在打开文?*/

fp2=fopen(argv[2],"r");

if((fp3=fopen(argv[3],"w"))==NULL)

{

printf("cant open %s \n",argv[3]);

exit(0);

}

for(; (ch=fgetc(fp2))!=EOF; )

{

putch(ch);/*输出第二个文件的内容*/

ch=ch -4;

fputc(ch,fp3);

}

printf("\n");/*你要的换行*/

fclose(fp2);

fclose(fp3);

if((fp3=fopen(argv[3],"r"))==NULL)

{

printf("can't open %s",argv[3]);

}

for(; (ch=fgetc(fp2))!=EOF; )

{

putch(ch); /*输出第三个文件的内容*/

}

}

以上的程序是在TURBOC2环境编译通过的,我在XP的CMD下不能正确执行,不知道为什么,真郁闷,所以最好用纯DOS状态或者是TC的 "OS Shell" 来运行

在DOS状态下输入:

pass pass1.txt pass2.txt pass3.txt

即可得到你要求的内容,需要注意的是pass1.txt必须要存在,而且要与pass.exe放在同一个目录下,相信你会注意到这点的。GL

如果你想要这个程序的详细注释或者升级版本可以继续发帖子来问我啦。费用1000元~~哦,打错了,我都快成为KNOCKER了,是免费的~~

13a2f4bd84d8af35e7645442bb7a26a3.gif

相关文章:

  • linux machine start,linux中MACHINE_STARTEND在9g10ek上实现
  • android设置按钮大小为屏幕百分比,android – 设置UI元素的位置/大小为屏幕大小的百分比...
  • android4.1用哪个ndk编译,androidstudio中用ndk编译的问题
  • 海美迪盒子android升级,海美迪4K播放器直升安卓7.0 画质再上新境界
  • android 手势旋转,android中手势操作图片的平移、缩放、旋转
  • 微信分身 android,微信分身版安卓版
  • android的设备节点,无法打开设备节点android
  • html加载图标的xpath位置,在格式不正确的HTML中使用XPath查找节点(或...
  • html 布局 id class,不使用class和id进行网页布局的方法
  • html画布模板,html2canvas.js
  • 川信计算机组装维护,凉山州中学生技能大赛信息技术类竞赛总结
  • 计算机应用基础_在线作业_e,计算机应用基础_在线作业_E.doc
  • 会计电算化的过程 实质上是用计算机,河南电大会计学专科《社会实践(会专)》(教考一体化)网上考试试题及答案...
  • html輸出excel,Javascript HTML表單table輸出Excel
  • 论计算机网络犯罪结论,论计算机网络犯罪的立法建议
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 《深入 React 技术栈》
  • Angular 响应式表单 基础例子
  • C学习-枚举(九)
  • github指令
  • golang 发送GET和POST示例
  • JAVA SE 6 GC调优笔记
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • js对象的深浅拷贝
  • react 代码优化(一) ——事件处理
  • Terraform入门 - 3. 变更基础设施
  • Tornado学习笔记(1)
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 前端_面试
  • 前端技术周刊 2019-01-14:客户端存储
  • 悄悄地说一个bug
  • 数据仓库的几种建模方法
  • 一道闭包题引发的思考
  • #git 撤消对文件的更改
  • #include到底该写在哪
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $ git push -u origin master 推送到远程库出错
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (4)(4.6) Triducer
  • (Git) gitignore基础使用
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (理论篇)httpmoudle和httphandler一览
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .net CHARTING图表控件下载地址
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net