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";