C ++:带有简单菜单选择的无限循环

时间:2010-12-03 02:59:40

标签: c++ stdin infinite-loop

我正在处理的脚本长达一页,所以我要链接它(一个简单的文件):
http://pastebin.com/7BVHmQGp

我为此道歉。我的问题是我在代码中进入无限循环,例如在我选择1或2进行加密/未加密后,它让我输入单词,当我接下来输入密码的“shift”时,它会运行无限循环菜单。

我已经尝试了这么多个小时来调试它,我认为这是cin的一个问题,例如当你输入一个无效的选择它只会抛出一个无限循环/

什么似乎导致infininte循环?

3 个答案:

答案 0 :(得分:1)

我认为你应该忽略换行符而不是空格

我尝试了以下内容,它适用于VS2010

    cin.ignore(1, '\n');
    getline(cin, input);

答案 1 :(得分:0)

尝试cin.clear,我相信你会不断阅读你的初始输入字符。

    cin >> selection;
    cin.clear(); 

答案 2 :(得分:0)

This page应该解释您需要知道的一切。