C++输入

C++输入比较简单,但是有时也比较容易出错,所以这里想大概总结一下。
C++输入函数主要有cin,cin.getline,getline
1. cin是最常用的输入函数,属于istream输入流对象,cin>>x其实是>>操作符进行将x赋值给cin对象的操作,最终返回cin对象本身(&istream)。
从键盘输入数据x时,当输入回车符时,数据被送入发送缓冲区中。网上有文章认为:每当按下回车键后,cin 就会检测输入缓冲区中是否有了可读的数据。个人认为cin并非输入回车符才检测,而是执行cin<

    cin>>str;
    cout<<str<<endl;
    cin>>str;
    cout<<str<<endl;
    cin>>str;
    cout<<str<<endl;

这里写图片描述
输入为: we are happy
并且仅输入一次,直接输出三次,可见cin>>x是直接从缓冲区中取数据的。
而编程时经常会使用到的while(cin>>x),当输入为错误类型数据或ctl+d时,将终止输入,即直到eof文档结尾时结束输入,参考网址为:http://www.perfect-is-shit.com/deep-into-while-cin.html

CTRL+Z -> 引发异常 -> 记录异常 -> fail() 返回true-> operator void*() 返回 0 -> while结束。

  1. cin.getline函数为读取一行内容,以回车符结束,但是可以读取空格。格式为:
    istream& getline (char* s, streamsize n, char delim );
    表示读取n个字符或者读到delim字符结束的部分。第三字段可以省略,默认为回车符。
    1. getline与cin.getline功能相似似。格式为:
      istream& getline (istream& is, string& str, char delim);
      表示将is输入流读入str,直至遇到delim字符。
      区别主要为getline为string流,需要包含string的头文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值