一、使用原始的cin进行输入
如果程序需要使用循环来读取来自键盘的文本输入,则必须有办法知道何时停止读取,有一种方法是选择某个特殊字符,下面来看这个程序,该程序计算读取的字符数,并回显这些字符并报告处理的总字符数。
#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 read\n";
return 0;
}
为什么在程序输出时省略了空格呢?原因在cin。读取char值时,与读取其他基本类型一样,cin将忽略空格和换行符。因此输入中的空格没有被回显,也没有包括在计数呢。
更复杂的是,发送给cin的输入被缓冲。这意味着只有在用户按下回车键后,他输入的内容才会被发送给程序。这就是在运行该程序时,可以在#后面输入字符