逐字符读取

C++ Reading character by character

本文关键字:读取 字符      更新时间:2023-10-16

我需要从键盘上逐个字符地读取字符序列,我花了几个小时在网上搜索,但无济于事。请告诉我为什么这个循环不会终止。我相信答案很简单,事后我可以打自己的脸。

char c;
c = cin.get()
while(cin.good())
{
   DoSomething(c);
   c = cin.get();
}

为什么这个循环无限期地继续下去,如何修复????我通常会使用字符串和istringstream,但我在上初级编程课程,不幸的是,我们不允许用我们的方式来做,或者使用任何巧妙的技巧。我们被特别告知要使用cin

#include <iostream>
using namespace std;
int main(int argc, const char *argv[])
{
  char ch;
  while(cin >> ch){
    cout << " Char is : " << ch << endl;
  }
  return 0;
}

您希望输入流在什么时候会变坏或为空?

你不能从stdin中读取字符,因为它需要键盘输入——也就是说,它需要等待非常很长时间才能让用户按下一个键。

那么,决定一个字符停止读取,当该字符被读取时,退出循环