原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5241544.html

1.cin>>

1)最常见的是获取输入的一个字符或数字,如

int a,b;

cin>>a>>b;

注意:cin>>会自动过滤掉不可见字符(如空格 回车 tab等)。若不想过滤掉空白字符,可以用noskipws流进行控制。

如下程序,没有过滤掉不可见字符,输入的空格字符存入了input[1]中,也可输出。

2)获取输入的字符串,可以用数组或string类型。如

char a[20];

cin>>a;

cout<<a<<endl;

或者string类型:

string s;

cin>>s;

cout<<s<<endl;

注意:遇到空格、回车等会结束获取输入的字符串,后面的字符串会过滤掉(存放在输入流中)。如果后面还需要输入字符串,则会从前面存放的字符串开始获取。

遇空格、回车等结束。

po存放在了string中。

2.cin.get()

1)cin.get(字符变量名),用来接收字符,只获取一个字符,可以接收空格,遇回车结束

2)cin.get(数组名,接收字符数目),用来接收字符串,可以接收空格,遇回车结束。

注意:数组的最后一个字符会是‘\0’,设接收字符数目为n,如果输入的字符串大于等于n,则实际接收到的输入是字符串的前面n-1个字符,包括空格(不包括回车,遇到回车就结束了),会自动在后面增加一个‘\0’。

3)cin.get(),没有参数,主要用于舍弃输入流中不需要的字符,或者舍弃回车,即舍弃输入流中的一个字符。

没有用cin.get(),则后面的s会从输入流中继续读入

有cin.get(),则h后面的s被省略了。

3.cin.getline()

实际是cin.getline(接收字符串到m,接收个数n,结束字符)。接收一个字符串,可以接收空格等,最后一个字符为‘\0’。结束符可以通过设置第三个参数自己设置,默认是回车。m不能为string类型。

注意:实际接收到的要比n少一个,因为最后一个字符为'\0'。

4.getline()

用于string类的。使用需包含头文件#include<string>。getline(cin,string s),接收一个字符串,可以接收空格、回车等

与cin.getline()的区别:1.cin.getline()接收输入字符串的是数组,getline()是string类型。

2.cin.getline()可以接收空格,但不能接收回车;getline()可以接收空格和回车

3.cin.getline()会在数组结尾是'\0',getline()不会

5.gets()

gets(m)用于string类的,需包含#include<string>。可以接收空格,遇回车结束。可用于多维数组。

6.getchar()

m=getchar(),需包含#include<string>

参考:

http://blog.csdn.net/jiangxinnju/article/details/20492453

C++获取字符cin,getchar,get,getline的区别的更多相关文章

  1. c++中获取字符cin,getchar,get,getline的区别

    http://www.imeee.cn/News/GouWu/20090801/221298.html cin.get()与getchar()函数有什么区别? 详细点..C++中几个输入函数的用法和区 ...

  2. Linux C 字符函数 getchar()、putchar() 与 EOF 详解

    首先给出<The_C_Programming_Language>这本书中的例子: #include <stdio.h> int main() { int c; c = getc ...

  3. 日常笔记4关于cin、cin.get()、cin.getline()、getline()使用区别

    1.关于PAT中段错误 使用字符数组出现错误: char str[256]; 报错段错误,然后改用C++中的string 改成: string str; 同char数组一样,也可以使用下标来取单个字符 ...

  4. Swift3.0语言教程获取字符

    Swift3.0语言教程获取字符 Swift3.0语言教程获取字符,在字符串中获取某一下标位置(下标索引)处的字符是很常见的功能,在NSString中使用character(at:)方法实现,其语法形 ...

  5. C#获取字符首字母

    ///<summary> /// 获取字符首字母 /// </summary> public static string GetPyChar(string c) { if (s ...

  6. 获取字符宽度:并非自适应。coretext去计算

    获取字符宽度:并非自适应.coretext去计算 UniChar ch = [ns_str characterAtIndex:0]; CGGlyph glyph = 0; CTFontGetGlyph ...

  7. lastIndexOf方法——获取字符最后的索引

    1.2.20 lastIndexOf方法——获取字符最后的索引 2013-08-29 14:55:18     我来说两句 收藏    我要投稿   本文所属图书 > Java程序开发参考手册 ...

  8. javascript 获取字符递增

    比如A->B,AA->AB,Z->AA 参考https://blog.csdn.net/xiaotao2004/article/details/75096607 C#版本,改写为ja ...

  9. 关于C++中字符串输入get与getline的区别

    最近使用C++中自己老是忘记的一个点,get与getline的区别. 1.get与getline get和getline所属iostream类,作用是读取一整行,通过换行符确定读取结束,他们都可以读取 ...

随机推荐

  1. ArcGIS Pro 简明教程(4)工具和模型构建器

    ArcGIS Pro 简明教程(4)工具和模型构建器 by 李远祥 工具箱中的工具 ArcGIS Pro 在1.3版本基本上已经继承了ArcMap的所有工具,而且会不断加入一些它自身才有的工具,例如适 ...

  2. TPS及计算方法

    个事务,TPS为6 / 60s = 0.10 TPS.同时我们会知道事务的响应时间(或节拍),以此例,60秒完成6个事务也同时代表每个事务的响应时间或节拍为10秒.   利特尔法则  (Little' ...

  3. java泛型简单学习

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: //import java.util.List; public class GenericTest { public st ...

  4. 快速排序的C语言实现

    #include <stdio.h> int qSort(int a[],int i,int j) { int h = i; int r = j; int x = a[h]; int f ...

  5. Android基础工具函数代码集

    整理在学习研究Android开发,编写了一些基本用到的工具集,现在整理分享(后续会持续更新,有问题还请指出). 1.HttpClient工具,使用Apache的HttpClient类实现get和pos ...

  6. Android开发10:传感器器及地图相关应用

    前言 啦啦啦~各位小伙伴们好~经过这一学期的Android知识的学习,我们学到了很多和Android开发相关的知识,这一学期的学习也要告一段落了. 一起进入我们今天的相关内容~这次我们将一起学习使用 ...

  7. 支持缩放的fresco图片控件 —— fresco sample: ZoomableDraweeView

    最近在实现一个类似淘宝中的评论列表的功能,其中要在列表中显示评论图,点击图片后显示大图进行查看,各家app几乎都会有这样的功能. 可以看到,一个体验较好的查看大图的基本功能有, 第一,左右滑动时切换图 ...

  8. 配置apache

    1. 修改httpd.conf文件 # vi  /usr/local/apache/conf/httpd.conf 1) 设置根目录的路径 根目录是指Apache存放配置文件和日志文件的目录,配置参数 ...

  9. Material Design学习-----CollapsingToolbarLayout

    博客引用(http://www.open-open.com/lib/view/open1438265746378.html) CollapsingToolbarLayout为我们提供了一个很方便的顶部 ...

  10. 关于zepto在chrome中触发两次的解决方案

    复现条件:chrome 55+ 1.zepto tap的实现及double fire的原因 在监听DOM根节点的时候,touchStart后通过XY的坐标偏差,与tapTime的计时判断Tap/Lon ...