cin总结附带string输入总结
山东章鱼哥 2017-12-09 17:34:29
6423
收藏 2 最后发布:2017-12-09 17:34:29 首发:2017-12-09 17:34:29 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_35452997/article/details/78760512 展开
<div id="article_content" class="article_content clearfix">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-211130ba7a.css" target="_blank" rel="external nofollow" >
<div id="content_views" class="markdown_views prism-atom-one-dark">
<!-- flowchart 箭头图标 勿删 -->
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
</svg>
<h2 id="cin"><a name="t0"></a><a name="t0"></a>cin</h2>
1.cin>>
1.以空格,回车,换行分隔
2.如果第一个为上述“分隔符”,cin会自动忽略并清除,等待数据继续输入
3.cin>>noskipws>>input可以不略过空白字符
2.cin.get
A.读取一个字符
a=cin.get();cin.get(a);
不忽略分隔符
B.读取一整行
cin.get(a,size);遇到分隔符是结束
Note:
只能将字符串读入c风格的字符串中,即char*类,而getline类型可以读入c++风格字符串,即string类
3.cin.getline
a=cin.getline(a,size)遇到分隔符结束
实际只能读取size-1个数据
与cin.get()唯一区别为,前者不会将分隔符留在缓冲区中
4.cin.clear()
清空输入数据时的异常状态,使接下来的数据正常输入
5.Cin.ignore()
Cin.ignore(1024,’\n’)第一个参数通常要求为非常大的整数,实际上只有\n在起作用,就是把回车(包括回车)之前的所以字符从输入缓冲(流)中清除出去。
Note:
如果cin.ignore()不给参数,则默认参数为cin.ignore(1,EOF),即把EOF前的1个字符清掉,没有遇到EOF就清掉一个字符然后结束,会导致不正确的结果
6.getline
getline(cin,a)getline遇到结束符时,会将结束符一并读入指定的string中,再将结束符替换为空字符,所以用getline较为安全
与cin.getline()类似,前者属于istream流,后者属于stirng流
String输入
即用上述的cin和读入即可getline
为了输入的快速,防止超时,可以使用scanf读入数据,后再赋值给string
<div class="person-messagebox">
<div class="left-message"><a href="https://blog.csdn.net/qq_35452997" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >
<img src="https://profile.csdnimg.cn/8/C/B/3_qq_35452997" class="avatar_pic" username="qq_35452997">
</a></div>
<div class="middle-message">
<div class="title"><span class="tit "><a href="https://blog.csdn.net/qq_35452997" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" data-report-click="{"mod":"popu_379","ab":"new"}" target="_blank">山东章鱼哥</a></span>
<!-- 等级,level -->
<img class="identity-icon" src="https://csdnimg.cn/identity/blog5.png"> </div>
<div class="text"><span>原创文章 326</span><span>获赞 12</span><span>访问量 5万+</span></div>
</div>
<div class="right-message">
<a class="btn btn-sm bt-button personal-watch" data-report-click="{"mod":"popu_379","ab":"new"}">关注</a>
<a href="https://im.csdn.net/im/main.html?userName=qq_35452997" target="_blank" rel="external nofollow" target="_blank" class="btn btn-sm bt-button personal-letter">私信
</a>
</div>
</div>
</div>
</article>