我正在处理的脚本长达一页,所以我要链接它(一个简单的文件):
http://pastebin.com/7BVHmQGp
我为此道歉。我的问题是我在代码中进入无限循环,例如在我选择1或2进行加密/未加密后,它让我输入单词,当我接下来输入密码的“shift”时,它会运行无限循环菜单。
我已经尝试了这么多个小时来调试它,我认为这是cin
的一个问题,例如当你输入一个无效的选择它只会抛出一个无限循环/
什么似乎导致infininte循环?
答案 0 :(得分:1)
我认为你应该忽略换行符而不是空格
我尝试了以下内容,它适用于VS2010
cin.ignore(1, '\n');
getline(cin, input);
答案 1 :(得分:0)
尝试cin.clear,我相信你会不断阅读你的初始输入字符。
cin >> selection;
cin.clear();
答案 2 :(得分:0)
This page应该解释您需要知道的一切。