zoukankan      html  css  js  c++  java
  • 基础

    场景:cin输入一个整数,但是在console输入了其他如字符,字符串。当判断输入错误再重新输入时【 如while()内重复判断知道输入格式正确 】,可能进入死循环。

    解释:console输入时所按的回车键也算是输入符并保存在输入缓冲区中,在进行下一次读取时读到“ ”【windows中按回车键(" ")会转换成(“ ”)换行符】

    代码:

       bool flag = false;//判断控制台正确输入
      int op;
        do
        {
            cin >> op;//cin在控制台按回车使会读入回车符到缓冲区,并在下一次输入时读取缓冲区内容到变量;
            cin.clear();//条件状态的复位(goodbit Eofbit failbit badbit这几个状态标识符,cin输入错误时状态置为(3)或(4),可用clear()恢复到0即goodbit状态)
            //cin.ignore();//精准清空缓冲区
            cin.sync();//清空缓冲区
            if (op == 1 || op == 2)
            {
                flag = true;
            }
            else
            {
                cout << "输入错误,重新输入:" << endl;
            }

        } while (!flag);
    ...................................................
  • 相关阅读:
    自考新教材-p173_3(1)
    自考新教材-p148_5(2)
    自考新教材-p148_5(1)
    自考新教材-p148_4
    自考新教材-p147_3
    自考新教材-p146_4(2)
    python 模块 chardet报错解决方法:下载及介绍
    第 52 讲:论一只爬虫的自我修养
    第 51 讲: _name_属性
    Python 培训第一讲
  • 原文地址:https://www.cnblogs.com/floakss/p/10726334.html
Copyright © 2011-2022 走看看