>> 最初定义的是右移,当但是出现在 cin >>中的时候这个符号被重载了,变成了一个流操作,在用户通过键盘输入信息的时候,所有内容都会先直接存储在一个叫输入缓冲区的的地方,cin >> 就会直接像从输入缓冲区中直接读取按照你所提供的要求的类型的数据。

cin.peek();  这个方法是取得输入流中的第一个字符进行其他操作如比较,但是不影响输入流中的数据。

#include<iostream>
using namespace std;
int main()
{
string b;
int a;
char c;
cin>>a;
c=cin.peek();
cin>>b;
cout<<"a:"<<a<<endl<<"c:"<<c<<endl<<"b:"<<b<<endl;
}
输入:123asd
输出:a:123
输出:c:a
输出:b:asd

  cin.get(); 就是从输入流中读取一个字符,输入流的数据被取走。

#include<iostream>
using namespace std;
int main()
{
string b;
int a;
char c;
cin>>a;
c=cin.get();
cin>>b;
cout<<"a:"<<a<<endl<<"c:"<<c<<endl<<"cin.get:"<<b<<endl;
}
输入:123asd
输出 :a:123
输出:c:a
输出:cin.get:sd

  

cin.ignore(n,ch);  这个方法的功能就是将输入流中取出一个一个字符,并且每取出一个字符都会进行比较操作,如果取出字符个数等于n停止操作,如果遇到ch字符也停止操作,这个函数可以用来比如消除上一次输入对下一次输入的影响。

#include<iostream>
using namespace std;
int main()
{
string a;
cin.ignore(,'\n');
cin>>a;
cout<<"a:"<<a<<endl;
}
输入:ww
输入:Hello
输出:a:Hello

  

cin.getline(str,n,ch); 它实现的功能是从输入流从接收n个字符到str变量中,ch是结束字符如果不给出这个参数那就默认为'\0',就是当遇到ch这个字符的时候停止接收。

#include<iostream>
using namespace std;
int main()
{
char a[];
cin.getline(a,,'o');
a[]='\0';
cout<<a<<endl;
}
输入:Hello
输出:Hell

  

cin.gcount(); 的功能是获取一个字符变量中包括空白字符的个数。

#include <iostream>
using namespace std;
int main ()
{
char str[];
cin.getline(str,);
cout << cin.gcount() << '\n';
return ; }
输入:Hello
输出:6

  cin.read(); 和cin.getlie(); 的区别就是cin.getline(); 只能读取一行的内容,而cin.read();不限定行数直到到达结束标志为止。

cin对象的一些常用方法使用总结的更多相关文章

  1. cin 对象取值过程详解

    突然又空,鉴于对cin对象的去值机制还不是很了解,就探究一番,并且记下来,方便以后复习. #include <iostream> int main(void) { using namesp ...

  2. 输入cin对象的用法

    #include<iostream> using namespace std; int main() { int carrots ; cout << "How man ...

  3. javascript之数组对象与数组常用方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Opencv3 Mat对象构造函数与常用方法

    构造函数 Mat() Mat(int rows,int cols,int type) Mat(Size size,int type) Mat(int rows,int cols,int type,co ...

  5. iOS开发基础:OC数组对象NSArray的常用方法

    本文介绍了OC的数组对象的基本方法的使用: 因为OC的数组中存储的为对象类型,所以我们可以新建一个Person类,通过Person生成对象进行操作. 其中Person.h中的代码为: [objc] v ...

  6. JS单体内置对象之Math常用方法(min,max,ceil,floor,round,random等)

    1.min()和max()方法 Math.min()用于确定一组数值中的最小值.Math.max()用于确定一组数值中的最大值. alert(Math.min(2,4,3,6,3,8,0,1,3)); ...

  7. IO,File对象-构造函数和常用方法

    import java.io.File; import java.text.DateFormat; import java.util.Date; public class FileDemo { pub ...

  8. BOM对象中的常用方法

    先看body中的内容: <body οnlοad="demo1()"> <p> <input type="button" id=& ...

  9. js数组对象的一些常用方法

    pop:删除数组最后一个元素 语法: array.pop(); 如 var array = ['1','2','3']; array.pop(); 返回结果:[‘1’,‘2’]此方法会改变数组的长度 ...

随机推荐

  1. AngularJs页面跳转

    同一页面之间的跳转: $state.go('station.booking'); 打开新页面的跳转方式: var url = $state.href("knowledge.questiond ...

  2. Caused by: MetaException(message:Hive Schema version 2.1.0 does not match metastore's schema version 1.2.0 Metastore is not upgraded or corrupt)_2

    Caused by: MetaException(message:Hive Schema version 2.1.0 does not match metastore's schema version ...

  3. chapter06

    /** * Created by EX-CHENZECHAO001 on 2018-03-30. */class Chapter06 { } // 6 对象// 用对象作为单例或存放工具的方法// 类 ...

  4. mask

    select ) as cnt from ( ' as flag union all select 'a' as flag union all select null as flag ) t0 ; s ...

  5. leetcode 91. 解码方法

    题目描述: 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数 ...

  6. Spring那些不得不知的细节

    1.SpringMVC拦截器的url-pattern和RequestMapping 案例: url-pattern为/rest/* http请求为:/rest/query/id 那么requestMa ...

  7. NewStar 信息分发系统设计

    目录 NewStar 信息分发系统设计 我想要怎么做 系统流程图 解释和初步的模板展示 NewStar 信息分发系统设计 我们在全世界发布网站本质就是向全世界分发我们的信息给客户/潜在客户,然后希望促 ...

  8. idea关闭sonar自动扫描

    file-setting-other setting-sonar相关的setting全部关闭

  9. Likely root cause: java.lang.IllegalStateException: jar hell!

    jar hell 解决方案: 问题: Likely root cause: java.lang.IllegalStateException: jar hell! 解决: 当一一个类或者一一个资源文件存 ...

  10. C 碎片四 流程控制

    前面介绍了程序中用到的一些基本要素(常量,变量,运算符,表达式),他们是构成程序的基本成分,下面将介绍C语言中流程控制的三种结构:顺序结构.分支结构.循环结构 一.顺序结构 顺序结构的程序设计是最简单 ...