У меня есть код, который работает, но только один раз. Мне нужен ввод char a
, который должен быть заменен на вход char b
. В первый раз через цикл он меняет местами два выбранных символа, но на второй и последующих итерациях он ничего не делает, кроме того, что outFile одинаково. Как я могу поменять местами более двух символов, пока я не остановлюсь?Перестановка символов в файле, несколько раз
ifstream inFile("decrypted.txt");
ofstream outFile("swapped.txt");
const char exist = 'n';
char n = '\0';
char a = 0;
char b = 0;
cout<<"\nDo u want to swap letters? press <n> to keep letters or any button to continue:\n"<<endl;
cin>>n;
while (n != exist)
{
cout<<"\nWhat is the letter you want to swap?\n"<<endl;
cin>>a;
cout<<"\nWhat is the letter you want to swap it with?\n"<<endl;
cin>>b;
if (inFile.is_open())
{
while (inFile.good())
{
inFile.get(c);
if(c == b)
{
outFile<< a;
}
else if (c == a)
{
outFile<< b;
}
else
{
outFile<< c;
}
}
}
else
{
cout<<"Please run the decrypt."<<endl;
}
cout<<"\nAnother letter? <n> to stop swapping\n"<<endl;
cin>>n;
}
плохо проверить этот бит после работы, но быстрый взгляд кажется разумным. – Dom
любая причина, почему мой способ не работал? поэтому я могу иметь в виду в следующий раз. – Dom
Спасибо, что просто скомпилировали его и работали как удовольствие! ура! – Dom