鱼C论坛

 找回密码
 立即注册
查看: 2415|回复: 1

[技术交流] 【C/C++】XOR

[复制链接]
发表于 2014-10-29 21:50:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ~风介~ 于 2015-5-23 23:46 编辑

C Code:
  1. /* Usage: crypto key input_file output_file */

  2. #include <stdio.h>

  3. int main (int argc, char *argv[])
  4. {
  5.         FILE *fi, *fo;
  6.         char *cp;
  7.         int c;

  8.         if ((cp = argv[1]) && *cp != '\0')
  9.         {
  10.                 if ((fi = fopen(argv[2], "rb")) != NULL)
  11.                 {
  12.                         if ((fo = fopen(argv[3], "wb")) != NULL)
  13.                         {
  14.                                 while ((c = getc(fi)) != EOF)        
  15.                                 {
  16.                                         if (!*cp)
  17.                                                 cp = argv[1];
  18.                                         c ^= *(cp++);
  19.                                         putc(c,fo);
  20.                                 }
  21.                                 fclose(fo);
  22.                         }
  23.                         fclose(fi);
  24.                 }
  25.         }

  26.         return 0;
  27. }
复制代码


C++ Code:
  1. /* Usage: crypto key input_file output_file */

  2. #include <iostream>
  3. #include <fstream>

  4. using namespace std;

  5. int main(int argc,char *argv[])
  6. {
  7.         
  8.         ifstream fin;
  9.         ofstream fout;
  10.         char ch;
  11.         char *cp;
  12.         
  13.         fin.open(argv[2],ios_base::binary|ios_base::in);
  14.         fout.open(argv[3],ios_base::binary|ios_base::out);
  15.         
  16.         if ((cp = argv[1]) && *cp != '\0')
  17.         {
  18.                 while(!fin.eof())
  19.                 {
  20.                         if (!*cp)
  21.                                 cp = argv[1];
  22.                         fin.get(ch);
  23.                         ch ^= *(cp++);
  24.                         fout.put(ch);
  25.                 }
  26.         }
  27.         fin.close();
  28.         fout.close();
  29.         
  30.         return 0;
  31. }
复制代码

Screenshot:

QQ拼音截图未命名.png









评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
拈花小仙 + 5 + 5 支持介介~

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-20 15:28:26 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-13 13:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表