C++中使用cin将输入读取到基本类型变量中

C++中使用cin将输入读取到基本类型变量中

cin>> 用于连续从键盘中读取想要的数据以,空格;tab;换行作为分隔符

cin是C++编程语言中的标准输入流对象,即istream类的对象。cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。此外,cout是流的对象,即ostream类的对象,cerr是标准错误输出流的对象,也是ostream 类的对象。这里的标准输出指的是终端键盘,标准错误输出指的是终端的屏幕。

在理解cin功能时,不得不提标准输入缓冲区。当我们从键盘输入字符串的时候需要敲一下回车键才能够将这个字符串送入到缓冲区中,那么敲入的这个回车键(\r)会被转换为一个换行符\n,这个换行符\n也会被存储在cin的缓冲区中并且被当成一个字符来计算!比如我们在键盘上敲下了123456这个字符串,然后敲一下回车键(\r)将这个字符串送入了缓冲区中,那么此时缓冲区中的字节个数是7 ,而不是6。
需要注意

cin>>等价于cin.operator>>(),即调用成员函数operator>>()进行读取数据。
当cin>>从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin>>会将其忽略并清除,继续读取下一个字符,若缓冲区为空,则继续等待。但是如果读取成功,字符后面的分隔符是残留在缓冲区的,cin>>不做处理。
不想略过空白字符,那就使用 noskipws 流控制。比如cin>>noskipws>>input;

std::cin 用途广泛,让您能够将输入读取到基本类型(如 int、 double 和 char*)变量中。您还可使
用 getline( )从键盘读取一行输入。

使用 cin 可将标准输入读取到 int、 double 和 char 变量中,程序清单 27.4 演示了如何读取用户输入的简单数据类型。

程序清单 27.4 使用 cin 将输入读取到 int 变量中,将使用科学表示法的浮点数读取到 double 变
量中,将三个字符分别读取到 char 变量中

0: #include<iostream>
1: using namespace std;
2:
3: int main()
4: {
5: cout << "Enter an integer: ";
6: int inputNum = 0;
7: cin >> inputNum;
8:
9: cout << "Enter the value of Pi: ";
10: double Pi = 0.0;
11: cin >> Pi;
12:
13: cout << "Enter three characters separated by space: " << endl;
14: char char1 = '\0', char2 = '\0', char3 = '\0';
15: cin >> char1 >> char2 >> char3;
16:
17: cout << "The recorded variable values are: " << endl;
18: cout << "inputNum: " << inputNum << endl;
19: cout << "Pi: " << Pi << endl;
20: cout << "The three characters: " << char1 << char2 << char3 << endl;
21:
22: return 0;
23: }

输出:
Enter an integer: 32
Enter the value of Pi: 0.314159265e1
Enter three characters separated by space:
c + +
The recorded variable values are:
inputNum: 32
Pi: 3.14159
The three characters: c++
分析:
在程序清单 27.4 中, 最有趣的部分是, 您使用指数表示法输入 Pi 的值时, cin 也将其读取到了 double
变量 Pi 中。注意到可以使用一行代码将输入读取到三个字符变量中,如第 15 行所示。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值