【问题标题】:How to break a loop when "enter" is pressed in C++ while taking input in an integer array如何在 C++ 中按下“enter”并在整数数组中输入时打破循环
【发布时间】:2020-11-17 22:16:33
【问题描述】:

我有这个循环,其中arr 是一个整数数组。

for(int i=0; i<=counter;i++)
    {
        cin>>arr[i];
    }

我正在提供这样的输入

2 4 6 7

我想在7点后按回车,就打破这个循环。


我认为可以用类似的东西来完成

if(cin.get()=="\n")

但我无法理解如何在这段代码中实现它。

【问题讨论】:

  • 除了 I/O 问题,你知道你的循环假设 arr 至少有 counter+1 元素,如果 arr 只有 counter 元素会有未定义的行为?

标签: c++


【解决方案1】:

如果您想在按 Enter 键时退出 for 循环。在将其放入数组之前,您需要检查给定的输入。

如果它等于'\n',则使用break 离开for 循环。

for (int i = 0; i <= counter; i++) {
    // Check if user pressed the Enter Key
    if(std::cin.peek() == '\n') {
        // Leave the for loop
        break;
    }
    std::cin >> arr[i];
}

为确保输入不会从cin.get() 中清除,我们可以改用cin.peek()

【讨论】:

猜你喜欢
  • 2019-12-15
  • 1970-01-01
  • 2013-11-18
  • 2022-10-15
  • 2021-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多