C++ cin 对象
定义和用法
cin
对象用于从键盘或文件读取输入数据。
使用 cin
最常见的方式是与 >>
提取运算符一起使用。提取运算符将输入数据转换为适合变量的类型:
int x; cin >> x;
可以在同一行上多次使用提取运算符,将数据放入多个变量中:
int x, y; cin >> x >> y;
注意:cin
对象在 <iostream>
头文件中定义。
实例
使用 cin
对象读取用户输入:
int x; cout << "输入一个数字: "; // 输入一个数字并按回车 cin >> x; // 从键盘获取用户输入 cout << "你输入的数字是: " << x; // 显示输入的值
方法
除了 >>
提取运算符外,cin
对象还有用于读取输入的方法。
get()
cin.get()
方法从输入源读取一个字符并返回它。
char c = cin.get(); cout << c;
cin.get(str, n)
方法从输入源复制最多 n 个字符到字符数组 str 中。如果找到换行符 \n
,它会在换行符处停止,而不包括换行符。最后写入的字符总是空终止字符 \0
。
可以使用额外参数指定不同于 \n
的分隔符。
char str[20]; cin.get(str, 5); cout << c; // 当找到 "." 时停止读取 cin.get(str, 5, '.'); cout << c;
getline()
cin.getline(str, n)
方法与 get(str, n)
相同,不同之处在于当找到换行符 \n 或指定的分隔符时,它会从输入源中丢弃该字符,以便下一个 cin 操作不会使用它。
char str[20]; cin.getline(str, 5); cout << c; // 当找到 "." 时停止读取 cin.getline(str, 5, '.'); cout << c;
read()
cin.read(str, n)
方法从输入源读取最多 n 个字符,并将它们写入字符数组 str 中,而不检查分隔符,也不添加空终止字符 \0
。
char str[] = "Hello World"; cin.read(str, 5); cout << str;
gcount()
cin.gcount()
方法返回上述方法之一从输入源使用的字符数。
char str[20]; cin.get(str, 5); int num = cin.gcount(); cout << "读取了 " << num << " 个字符,得到 " << str << "\n";