我们来看看最场景的任务:逐字符的读取文件或键盘。接下来将介绍 cin 支持的3种模式。
5.5.1 使用原始的 cin 进行输入
如果读取键盘输入,选择哨兵字符(sentinel character)作为停止标记。如,遇到 # 字符停止输入。
int main()
{
char ch;
int count = 0;
cout << "输入字符,键入# 退出:" << endl;
cin >> char;
while (ch != '#') {
cout << ch;
++count;
cin >> ch;
}
cout << endl << count;
return 0;
}
5.5.2 使用 cin.get(char) 进行补救
int main()
{
char ch;
int count = 0;
cout << "输入字符,键入# 退出:" << endl;
cin.get(ch);
while (ch != '#') {
cout << ch;
++count;
cin.get(ch);
}
cout << endl << count;
return 0;
}
5.5.3 使用哪一个 cin.get()
cin.get() 的一个版本接收两个参数:数组名和 ArSize。接下来使用不接受参数的 cin.get()。C++ 支持函数重载,是利用了 OOP 特性。