当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ cin用法及代码示例


在本教程中,我们将借助示例了解 C++ 中的 cin 对象。

cin 对象用于接受来自标准输入设备(即键盘)的输入。它在iostream 头文件中定义。

示例

#include <iostream>
using namespace std;

int main() {
  int num;

  cout << "Enter a number: ";

  // take integer input
  cin >> num;

  cout << "You entered: " << num;

  return 0;
}

输出

Enter a number: 25
You entered: 25

cin 语法

用法:

cin >> var_name;

这里,

  • >> 是提取运算符。
  • var_name 通常是一个变量,但也可以是数组、向量、列表等容器的元素。

cin 与提取运算符

"c"cin"character""in"方法"input".因此cin方法"character input".

cin 对象与提取运算符>> 一起使用,以便接收字符流。例如,

int num;
cin >> num;

>> 运算符也可以在同一语句中多次使用以接受多个输入:

cin >> var1 >> var2 >> … >> varN;

示例 1:带有提取运算符的 cin

#include <iostream>
using namespace std;

int main() {
  int num1, num2, num3;

  cout << "Enter a number: ";

  // for single input
  cin >> num1;

  cout << "Enter 2 numbers:" << endl;

  // for multiple inputs
  cin >> num2 >> num3;

  cout << "Sum = " << (num1 + num2 + num3);

  return 0;
}

输出

Enter a number: 9
Enter 2 numbers:
1
5
Sum = 15

cin 与成员函数

cin 对象还可以与其他成员函数一起使用,例如 getline() , read() 等。一些常用的成员函数有:

  • cin.get(char &ch): 读取输入字符并将其存储在 ch 中。
  • cin.getline(char *buffer, int length):将字符流读入字符串buffer, 当
    • 它已读取 length-1 字符或
    • 当它找到 end-of-line 字符 '\n' 或文件末尾 eof 时。
  • cin.read(char *buffer, int n): 将流中的 n 字节(或直到文件末尾)读取到 buffer 中。
  • cin.ignore(int n): 忽略输入流中的下一个 n 字符。
  • cin.eof(): 如果到达文件末尾 (eof),则返回非零值。

示例 2:带有成员函数的 cin

#include <iostream>
using namespace std;

int main() {
  char name[20], address[20];

  cout << "Name: ";

  // use cin with getline()
  cin.getline(name, 20);
	
  cout << "Address: ";

  cin.getline(address, 20);


  cout << endl << "You entered " << endl;
  cout << "Name = " << name << endl;
  cout << "Address = " << address;
	
  return 0;
}

输出

Name: Sherlock Holmes
Address: Baker Street, UK

You entered
Name = Sherlock Holmes
Address = Baker Street, UK

cin 原型

iostream 头文件中定义的cin 原型为:

extern istream cin;

C++ 中的 cin 对象是类 istream 的对象。它与标准 C 输入流 stdin 相关联。

cin 对象确保在第一次构造ios_base::Init 类型的对象期间或之前被初始化。

构造 cin 对象后,cin.tie() 返回 &cout 。这意味着如果有任何字符等待输出,则 cin 上的任何格式化输入操作都会强制调用 cout.flush()

相关用法


注:本文由纯净天空筛选整理自 C++ cin。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。