C++补漏_标准输入流

C++补漏_标准输入流
1.cin对象
    cin是标准输入流(即istream类)的对象,用于从标准输入流中读取数据。标准输入就是从键盘终端输入,当我们从键盘敲入一些数据,按下回车后数据被送入标准输入缓冲区,
回车会被转换为换行符(/n)保存在缓冲区中。
    cin读取数据是从缓冲区中读取,缓冲区为空时cin会停止等待输入。
2.cin的三个读取方法
    1) cin>>
 cin>>以空格,tab,换行作为分隔符。使用cin>>读取数据时,若缓冲区的第一个字符是空格,tab,换行等分隔符,将其清除并忽略。读取成功后,对其后残留的分隔符不做
 处理(所以将cin>>和其他输入方式混用时可能会出现错误,例如和getline()函数混用。)
2) cin.get方法
 使用cin.get方法读取单个字符有两种形式:char a=cin.get();或char a;cin.get(a);。使用cin.get方法从缓冲区读入数据时不会忽略分隔符,分隔符会以字符的形式被读取
 出来。
3)cin.getline方法
 cin.getlint方法用于从标准输入流中读入一行数据。默认以换行符作为结束标志(char str[20]={null};cin.getline(str,20);),也可以指定结束标志(char str[20]={null};
 cin.getline(str,20,'$');)。需要指出当输入超长时,cin.getline会报错以致其后的cin都不能执行。这是可以用cin.clear()来将cin的状态为复位。cin.getline会将结束符
 清除,但是不会读入。
3.getline方法
    getline方法不属于标准输入流,需要加入#include<string>。使用形式和cin.getline相似:string str;getline(cin,str);或string str;getline(cin,str,'$');
getline遇到结束符时就结束,那怕结束符是第一个字符。getline会将结束符转换为空字符读入并清除缓冲区中的结束符。
4.cin.sync()
    cin.sync()函数的作用是清空缓冲区,在cin>>后使用getline()时需要用它。但是在linux中似乎需要用cin.ignore(),cin.sync()不可用。
5.我这里介绍的很简略,很多东西都没记录。但是通常情况下使用以上方法就足够满足基本的输入需求了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值