Я работаю над программой для расшифровки текста с помощью определенного ключа. Я пытаюсь использовать replace()
, но, похоже, это не работает. Например, qwert
должен расшифровываться до hello
, но вывод будет hlllo
; в этом случае w
в qwert
расшифровывается до e
, но затем повторно расшифровывается до l
.
ввод:
xnm ceuob lrtzv ita hegfd tsmr xnm ypwq ktj
should come out as:
the quick brown fox jumps over the lazy dog
I'm getting:
oga yaacd brozn aox gamav ovar oga lazy dog
Как я могу это исправить?
int main()
{
// ...
myFile.open("decrypt.txt");
while (myFile.good())
{
getline(myFile, line2);
// now line2 is, e.g., "xnm ceuob lrtzv ita hegfd tsmr xnm ypwq ktj"
// help here
for (int i = 0; i < 26; i++)
{
replace(line2.begin(), line2.end(), key[i], fox[i]);
}
v.push_back(line2);
}
myFile.close();
for (int i = 0; i < numline; i++)
{
cout << "line " << i <<" = " << v[i] << endl;
}
return 0;
}