我已经生成了一个随机文本文件

A B C D E F G H

T W G X Z R L N


我想对消息进行编码,以便A = T,B = W,C = G等等。

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int
main ()
{
  string getmsg;

  ifstream openfile ("random.txt");

  if (openfile.is_open ()) {

    while (! openfile.eof ()) {
      getline (openfile,getmsg); //read from random.txt
      cout << getmsg << endl;
    }

  }
}


我很困在这里。

例如。当我输入单词“ HAD”时,它将显示“ NTX”,并且通过使用相同的随机文本文件,我可以输入“ NTX”并还给我“ HAD”

最佳答案

尽管其他人指出了Map,但我会使用大小为26(如果只有大写字母)的简单数组(subs)。

用0初始化数组。阅读所有字符及其映射。像这样存储它subs[char-'A'] = mapped_char。我会把这本书留给你。

编辑-
如果您准备为额外的内存使用付费,只需将subs的大小设置为123(z的ASCII + 1)。

这还将简化subs[char] = mapped_char的逻辑

关于c++ - C++中的替代密码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11534494/

10-10 16:30