我目前正试图解密交给我的文本文件。我使用一个数组前:其中alphabet_size = 26比较,替换,匹配数组C++
char code[ALPHABET_SIZE] = {'i','z','t', 'o', 'h', 'n', 'd', 'b', 'e', 'q', 'r', 'k', 'g', 'l', 'm', 'a', 'c', 's', 'v', 'w'
, 'f', 'u', 'y', 'p', 'j', 'x',}
使用包含此
ifqkwxcadf ar cei fpoi masif cd cei xkdqirr du pxxnwafm pf pnmdkaceo cd p oirrpmi, teaqe rqkpohnir cei gpcp af ac-oplafm ac sikw gauuaqvnc pfg caoi qdfrvoafm, au fdc xkpqcaqpnnw aoxdrrahni, cd gigvqi cei dkamafpn masif dfnw cei ifqdgig gpcp. afxvcr cd cei pnmdkaceo cwxaqpnnw afsdnsi pggacadfpn riqkic gpcp qpnnig liwr, teaqe xkisifcr cei oirrpmi ukdo hiafm giqdgig-isif au cei pnmdkaceo ar xvhnaqnw lfdtf.
我已经试过是(不使用字符代码阵列破译另一个字符数组文件但使用if语句来检查,如果加密的消息[0] = 'A' 然后消息[0] = 'i' 的
for (int num = 0; message[num] != '\0'; num++)
{
if (message[num] == 'a') { message[num] = 'i'; }
if (message[num] == 'b') { message[num] = 'z'; }
if (message[num] == 'c') { message[num] = 't'; }
if (message[num] == 'd') { message[num] = 'o'; }
if (message[num] == 'e') { message[num] = 'h'; }
但最终与另一怪异消息
elcujpjeml eu jbe lame geuel jm jbe pumceuu mf appljelg al algmuejbm jm a meuuage, jbecb ucuambleu jbe daja el ej-makelg ej ueuj deffeculj ald jeme cmluumelg, ef lmj puacjecallj empmuueble, jm deduce jbe muegelal geuel mllj jbe elcmded daja. elpuju jm jbe algmuejbm jjpecallj elumlue addejemlal uecuej daja called keju, jbecb pueuelju jbe meuuage fumm beelg decmded-euel ef jbe algmuejbm eu publeclj klmjl.
等和子..(也就是说,每个“A”中输入的文本应改为一个“i”,每个“B”与“Z”,等等。)(消息包含我在那里显示的加密文本文件) 现在,我的问题是如何使用“字符代码数组”来加密“消息数组”基本上不知道这是否是正确的术语,但匹配和替换?任何帮助将是伟大的!先谢谢你。
可能不是完整的答案,但至少将其转换为“else if”或在每个块中放一个'continue',否则如果这个字母是“a”,它会变成“i”,然后变成任何“i”变成等等,然后移动到下一个索引。调试器应该告诉你这一点。但除此之外,肯定有更好的方法。 – pinkfloydx33