看个简单的例子
#include "iostream"
using namespace std;
int main() {
char ch;
int count = 0;
cout << "Enter characters; enter # to-quit" << endl;
cin >> ch;
while (ch != '#')
{
cout << ch;
++count;
cin >> ch;
}
cout << endl << count << " characters " << endl;
return 0;
}
随便输入字符, #字符为结束, 运行结果为:
从运行结果可以看到, 空白字符(这里是空格), 并没有当作字符进行输出
为什么程序没有把空格显示出来呢?
原因是在cin读取char值时, 与读取其他基本类型一样, cin将忽略空格和换行符, 因此输入的空格没有被回显.
更为重要的是, 发送给cin的输入被缓冲, 这意味着, 只有在用户按下回车键后, 输入的内容才会被发送给程序, 这也就是为什么运行程序的时候, 可以在#后面输入字符的原因.