cin.ignore()函数的用法
来源:互联网 发布:centos五笔拼音输入法 编辑:程序博客网 时间:2024/05/17 00:04
cin.ignore()函数的用法
转载http://blog.sina.com.cn/u/2257215421
cin.ignore(a,ch)方法是从输入流(cin)中提取字符,提取的字符被忽略(ignore),不被使用。每抛弃一个字符,它都要计数和比较字符:如果计数值达到a或者被抛弃的字符是ch,则cin.ignore()函数执行终止;否则,它继续等待。它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响。比如可以这么用:cin.ignore(1024,'\n'),通常把第一个参数设置得足够大,这样实际上总是只有第二个参数'\n'起作用,所以这一句就是把回车(包括回车)之前的所以字符从输入缓冲(流)中清除出去。
如果没有cin.ignore(),可以一次输入3个数,用空格隔开就好了。。可是非常不美观。。这样才是我们想要的。
如果cin.ignore()不给参数,则默认参数为cin.ignore(1,EOF),即把EOF前的1个字符清掉,没有遇到EOF就清掉一个字符然后结束,会导致不正确的结果,因为EOF是文件结束标识呵。
如果在地址那里输入bcdabcd那么此时流里面剩的是bcd\n,此时cin.ignore();吃掉的就是b了,这是流里还剩下cd\n直接交给cin.getline(str3,30);应为有个\n所以这里getline就直接返回.
#include <iostream>using namespace std;void main(){int a,b,c;cout<<"input a:";cin>>a;cin.ignore(1024, '\n');cout<<"input b:";cin>>b;cin.ignore(1024, '\n');cout<<"input c:";cin>>c;cout<<a<<"\t"<<b<<"\t"<<c<<endl;}
如果没有cin.ignore(),可以一次输入3个数,用空格隔开就好了。。可是非常不美观。。这样才是我们想要的。
如果cin.ignore()不给参数,则默认参数为cin.ignore(1,EOF),即把EOF前的1个字符清掉,没有遇到EOF就清掉一个字符然后结束,会导致不正确的结果,因为EOF是文件结束标识呵。
#include<iostream> using namespace std; void main() { char str1[30],str2[30],str3[30]; cout << "请输入你的姓名:"; cin>>str1; cout<<"请输入你的住址:"; cin.ignore(); cin.getline(str2,30,'a'); cout << "请输入你的籍贯:"; cin.ignore(); cin.getline(str3,30); cout<<str3; }
如果在地址那里输入bcdabcd那么此时流里面剩的是bcd\n,此时cin.ignore();吃掉的就是b了,这是流里还剩下cd\n直接交给cin.getline(str3,30);应为有个\n所以这里getline就直接返回.
阅读全文
0 0
- cin.ignore()函数的用法
- cin.ignore()函数的用法
- cin.ignore()函数的用法
- cin.ignore()函数的用法
- cin.ignore()函数的用法
- cin.ignore()函数的用法
- cin.ignore()函数的用法
- cin.ignore()函数的用法
- cin.ignore()的用法
- cin.ignore的用法
- cin.ignore()的用法
- cin.ignore的用法
- cin , cin.get() , cin.getline() , getline() , cin.ignore() 的用法
- cin.ignore()函数的使用
- cin.ignore()函数用法及cin.getline()用法举例
- cin.ignore() 函数解析
- cin.ignore()的使用
- cin、cin.get()、cin.getline()、getline()、gets()等函數的用法 以及cin.ignore,cin.clear等。。
- 网络编程客户端向服务器上传文件
- keepalived高可用部署_单实例——rpm版
- Linux <getopt>
- [Lintcode]二叉树的最大节点
- C++作业6
- cin.ignore()函数的用法
- activiti基础应用
- 页式虚拟存储与TLB快表
- 【IE11】兼容低IE版本的设置方法
- cartographer源码分析
- ListView下拉刷新上拉加载的实现与使用
- Openstack : 11、openstack中api-paste配置项的解释
- IE11控制台加载后,内容空白
- 霍夫变换-检测直线