5.5 循环和文本输入
逐字符地读取来自文件或键盘的文本
5.5.1 使用原始的cin进行输入
#include<iostream>
using namespace std;
int main()
{
char ch;
int count = 0;
cout << "Enter characters;enter # to quite:\n";
VG cin >> ch;
while (ch != '#')
{
cout << ch;
++count;
cin >> ch;
}
cout << endl << count << "characters read \n";
system("pause");
return 0;
}
5.5.2 使用cin.get(char)进行补救
成员函数cin.get(ch)读取输入中的下一个字符(即使它是空格),并将其赋给变量ch。使用这个函数调用替换cin>>ch,可以修补程序清单5.16的问题。程序清单5.17列出了修改后的代码。
#include<iostream>
using namespace std;
int main()
{
char ch;
int count = 0;
cout << "Enter characters;enter # to quite:\n";
cin.get(ch);
while (ch != '#')
{
cout << ch;
++count;
cin.get(ch);
}
cout << endl << count << "characters read \n";
system("pause");
return 0;
}
可以看出用cin.get()可以回显空格