C++ cin,cin.get(),cin.getline等使用

参考以下博客,用于个人学习归纳
C/C++中cin、scanf、cin.get()、cin.getline()、getline()、getchar()、gets()空格回车换行符对其的影响

cin

换行符会被留在缓冲区
cin 输入接触到第一个非空格字符时开始阅读,当遇到下一个空格字符(空格、制表符、换行符)时就会停止读取。因此可以放在while中作为输入bool类型的输入结束判断符
在这里插入图片描述
在这里插入图片描述

scanf

输出 a+回车

scanf读取字符,可以读取空格或者换行符。额外的换行符保留在缓冲区,在本程序中,换行符被cin.get(b)赋值给了b。

scanf可以读取C风格的字符串(字符数组),也可以读取C++风格的字符串(string)。用scanf读取string字符串要预先分配内存空间,直接读取会报错。

scanf从第一个非空白字符开始读取,遇到空白字符读取结束。**不会读入空白字符。**读取结束后,回车留在缓冲区,在本程序中,换行符被cin.get()赋值给b。

cin.getline()

只能用于char数组字符串,不能用于string字符串

在这里插入图片描述

关于getline在while中循环
一直读入\n也不会跳出循环
在这里插入图片描述

添加链接描述

string类用法
添加链接描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值