解决cin输入类型错误

来源:互联网 发布:邮箱服务器软件 编辑:程序博客网 时间:2024/05/17 08:12

观察下面的代码

    int n;    while (!(cin >> n))    {        cin.clear();                               while (cin.get() != '\n')            continue;        cout << "plese Enter a number:";    }

如果输入类型与n的类型不符,则输入将被关闭,这时需要cin.clear()清除错误标记,重新打开输入流。
注意:输入流中依旧保留着之前的不匹配的类型,所以需要用cin.get()fflush(stdin)等其他方法将输入流全部清除。此例中用while循环清除错误类型

0 0
原创粉丝点击