如何在条件表达式中正确退出带有 'cin' 的 while 循环?(C++,CLion)

扎克

我对 C++ 很陌生,并且在使用这个简单的代码时遇到了麻烦:

#include <iostream>
using namespace std;

int main() {
  int NumberOfNonBlanks = 0;
  int NumberOfUpperCase = 0;
  char c;
  while (cin >> c) {
    ++NumberOfNonBlanks;
    if ((c>='A' && (c <= 'Z'))) {
      ++NumberOfUpperCase;
    }
  }
  cout << "Nonblank characters : " << NumberOfNonBlanks << endl 
       << "Uppercase characters : " << NumberOfUpperCase << endl;
}

我的操作系统是 Windows,Ctrl+D 似乎退出了循环(Ctrl+Z 没有做任何事情),但问题是它也结束了整个程序。因此,我在代码中的最后一行没有做任何事情......例如,如果我将输入输入为:

BLUE

然后按 Ctrl+D,程序立即结束,返回值 0。

任何帮助将不胜感激为什么这种情况不断发生。谢谢!

- - - - - - -编辑 - - - - - - - - -

目前有一些争论认为 ctrl + z 不表示 CLion(在 Windows 上运行)的 EOF。在这种情况下,有人知道 CLion 的任何解决方案吗?

Huanfeng.Xu

Ctrl + D意味着EOF,但它只适用于Linux,如果你想在windows或cmd中将EOF发送到你的程序,你需要使用Ctrl+Z,你可以从这个问题中看到更多Ctrl+D不会阻止应用程序在命令窗口中执行

Ctrl+Z使用 code::block IDE 在我的 Windows 中正常工作

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

if (cin) { while(cin)... 是如何工作的?

来自分类Dev

终止while(cin >> s)循环。加速的C ++

来自分类Dev

C++:在 while(cin) 循环中,有时循环被忽略

来自分类Dev

cin >>整数和while循环

来自分类Dev

使用cin在while循环中进行条件

来自分类Dev

在while循环中如何评估“ std :: cin >> value”?

来自分类Dev

cin在while循环中无法正常工作(C ++)

来自分类Dev

cin在while循环中无法正常工作(C ++)

来自分类Dev

while(cin)和while(cin >> num)有什么区别

来自分类Dev

我的cin在while循环中被忽略

来自分类Dev

使用cin来关闭while循环

来自分类Dev

使用std :: cin输入停止while循环

来自分类Dev

While循环和cin char,int

来自分类Dev

在一个while循环内的cin

来自分类Dev

在不使用cin作为条件c的循环时退出

来自分类Dev

C ++数组cin循环

来自分类Dev

无法退出while循环,(C ++)?

来自分类Dev

C - while 循环不会退出

来自分类Dev

C ++ 11 for cin >> buff的循环;

来自分类Dev

如何使C ++使用cin可选?

来自分类Dev

C ++ cin >> x如何工作

来自分类Dev

如何正确退出while循环?

来自分类Dev

C ++:布尔表达式导致无限While循环

来自分类Dev

Cin和Cout对象如何循环工作

来自分类Dev

可能有多个while(cin >> input)

来自分类Dev

如何在CLion中启用C ++ 11?

来自分类Dev

如何在CLion中包含ASIO C ++?

来自分类Dev

JavaScript挑战:While循环-条件表达式

来自分类Dev

C ++中的while循环无法退出