我们来看看最场景的任务:逐字符的读取文件或键盘。接下来将介绍 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 特性。
