我已经生成了一个随机文本文件
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/