c++ while循环重复

标签 c++

我有以下代码。当输入诸如 jackpot 之类的内容时,它会打印 8 次 cout,每个字符一次。为什么要这样做?信息是结构,数字是整数。

do {
        cout <<"Please input a valid number."<< endl;
        cin>>information.number;
        if (!cin)
          {
             cin.clear();
             cin.ignore();
          }
    }
while(information.number> 12 || information.number< 1);

最佳答案

您可以指定最大忽略长度length 和忽略delimiter:

do {
        cout <<"Please input a valid number."<< endl;
        cin>>information.number;
        if (!cin)
          {
             cin.clear();
             cin.ignore(1024, '\n'); // ignore up to 1024 chars. until '\n'
          }
    }
while(information.number> 12 || information.number< 1);

关于c++ while循环重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15332173/

相关文章:

c++ - 如何调试段错误?

c++ - Windows Vista 下的指针稳定性

c++ - fopen/fwrite 和多线程?

c++ - 使用 : "Operation timed out" 进行大量插入后,cassandra INSERT 失败

c++ - c++中gets()函数的多行输入

c++ - 在浏览器中运行 DX11

c++ - 在 C++ 中初始化数组时出现 Seg 错误(欧拉项目编号 3)

c++ - 确定什么内在标志被激活

c++ - 如何在文本突出显示期间保留语法突出显示

c++ - GNU c++编译器选项来标记if(a = b)