>> 最初定义的是右移,当但是出现在 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. Hadoop 2.0完全分布式集群搭建方法(CentOS7+Hadoop 2.7.7)

    本文详细介绍搭建4个节点的完全分布式Hadoop集群的方法,Linux系统版本是CentOS 7,Hadoop版本是2.7.7,JDK版本是1.8. 一.准备环境 1. 在VMware worksta ...

  2. P3823_[NOI2017]蚯蚓排队 哈希+脑子

    之前就写过一遍,今天却写挂了,查了半天发现是数组名写错啦$qwq$ 观察到$K$很小,所以使得我们可以哈希(怎么什么都能哈希$qwq$).我们把长度小于等于$50$的子串扔到哈希表里,并统计出现次数, ...

  3. 09.Spring Bean 注册 - BeanDefinitionRegistry

    基本概念 BeanDefinitionRegistry ,该类的作用主要是向注册表中注册 BeanDefinition 实例,完成 注册的过程. 它的接口定义如下: public interface ...

  4. Codeforces Round #375 (Div. 2) Polycarp at the Radio 优先队列模拟题 + 贪心

    http://codeforces.com/contest/723/problem/C 题目是给出一个序列 a[i]表示第i个歌曲是第a[i]个人演唱,现在选出前m个人,记b[j]表示第j个人演唱歌曲 ...

  5. HDU 5501——The Highest Mark——————【贪心+dp】

    The Highest Mark Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...

  6. xenserver 更新源

    在xenserver上安装vnc软件时,报错 [root@cloud yum-3.4.3]# ./yummain.py install yumThere are no enabled repos.Ru ...

  7. linux下使用shell脚本批处理命令

    1.新建脚本touch first.sh 2.写入命令vi first.sh #!/bin/bash #publish service and api echo "copy file&quo ...

  8. java向上取整向下取整

    向上取整用Math.ceil(double a) 向下取整用Math.floor(double a) 举例: public static void main(String[] args) throws ...

  9. WebApi 实例

    REST是设计风格而不是标准. webapi有自己的路由. webservice和wcf的协议都是soap协议,数据的序列化和反序列化都是soap的格式.而webapi是Json的数据传递 webap ...

  10. 发布MVC网站的时候出现缺少WebHost等程序集问题的解决办法

    将一下几个dll 拷贝到bin文件夹下就行 链接:https://pan.baidu.com/s/17xhTdakzM_SQmOjJdZvviw 密码:c976