cin.get(),cin,cin.getline()的区别

记录下最近的学习总结:

cin:读取一个数据,该数据依据流入的数据类型而定

如:int a;则cin >> a,输入23.1,  则实际流入a的应该是23,而.1依旧存在于输入缓冲区里面

但是,cin >> a 输入会忽略空格和回车,这点值得注意

其次:cin可以用于错误类型的判断标值

如:int ch;

while (cin)

{

cin >> ch;

}可以用cin来检测输入的格式是否错误,但是还有更深远的含义,cin可以检测系统的其他错误,如磁盘的读取失败等


cin.get():可以读取一个字符,如:cin.get(ch); 将读取输入的一个字符   ,而不同的是cin.get()还可以返回一个字符  ,如ch = cin.get();

与cin >> a不同的是,cin.get()不会忽略回车和空格,他会依次读取   当遇到ctrl+x结束输入。

同时,由于cin.get()返回的是一个cin对象,所以可以cin.get().get()使用,cin.get(ch,50);其中ch为一个数组名,可以读取一行数据输入,并截取开始的50个字符存储于

数组a里面,但是注意,如果数组a不够存储,数据将依旧存储在缓冲流中,并且在结束输入后'\n'会保存到下次输入的缓冲流队列的开头

cin.getline():

与cin.get()不同的是,其读取一行数据后不会将回车存与下次的输入流中,而是本次输入后丢失

getline():

其可以用于string类型的变量读取一行字符串,用法见于getline(cin,str)


仅此记录最近的收获


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值