C ++逐字逐句阅读

时间:2014-03-25 22:28:31

标签: c++ input

我需要逐个字符地阅读键盘中的字符序列,我花了几个小时卡住并搜索网络无济于事。请告诉我为什么这个循环不会终止。我确信答案很简单,我可以在事后面对自己。

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

为什么这个循环会无限期地继续下去?如何解决?我通常会使用一个字符串和一个istringstream,但我正处于初学者编程课程中,不幸的是我们不允许这样做或使用任何巧妙的技巧。我们被特别告知使用cin。

2 个答案:

答案 0 :(得分:1)

#include <iostream>
using namespace std;

int main(int argc, const char *argv[])
{

  char ch;
  while(cin >> ch){
    cout << " Char is : " << ch << endl;
  }

  return 0;
}

答案 1 :(得分:1)

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

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

因此,决定退出读取的字符,当读取该字符时,退出循环。