1.cin.get()
(1).cin.get()-------提取单个字符,可以提取回车、空格
a=cin.get();
(2) 同(1)---------------提取单个字符,可以提取回车、空格
cin.get(a);
(3).-------------------不提取  回车
cin.get(字符数组,字符个数n,终止字符);//终止字符可以不写,默认为'\n'
或cin.get(字符指针,字符个数n,终止字符);//终止字符可以不写,默认为'\n'
不可跳过终止符号。需把回车'\n'提取掉
可以写成
cin.get(a,20);
cin.get();
也可以组合写成
cin.get(a,20).get();

2.cin.getline()//---不提取 回车
cin.getline(字符数组 /字符指针,字符个数n,终止标志字符);//终止字符可以不写,默认为'\n'
可跳过终止符号。
即每次读取一整行并把由Enter键生成的换行符抛弃
返回值:此处还待研究,求大神指导。

3.getline()-----------用于  string  字符串的。
getline()     // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”

#include<iostream>
#include<string>
using namespace std;
int main(){
string a;
getline(cin,a);
cout<<a<<endl;
return ;
}

上面代码,如果输入a b c,需要按两次回车键才能显示a b c(在VC6中),因为getline有三个参数, 第三个参数是字符串的结束符,也就是当getline遇到这个结束符时,就不在接受输入了,比如写成getline(cin,st,'s'); 即使输入的是abcsabc 那么也只会显示 abc ,因此对于上面出现的情况,有人说getline默认情况下以回车('\n')作为结束符,第一次按回车表示字符串结束,第二次按回车才开始输出。

4.gets() ////-----跟  cin.getline()类似,不提取  回车
gets()        // 接受一个字符串,可以接收  空格  并输出,需包含“#include<stdio.h>”
返回值:gets(str) 在读取成功的时候返回str,str保存的是成功读入的内容
在失败的时候返回NULL,str的内容保持不变

#include<iostream>
#include<stdio.h>
using namespace std;
int main(){
char a[];
gets(a); //不能写成a=gets();
cout<<a<<endl;
return ;
}

输入:abc
输出:abc
输入:a b c
输出:a b c
类似cin.getline()里面的一个例子,gets()同样可以用在多维数组里面:

#include<iostream>
#include<stdio.h>
using namespace std;
int main (){
char a[][];
for(int i=; i<; i++)
gets(a[i]);
cout<<"--------"<<endl;
for(int j=; j<; j++)
cout<<a[j]<<endl;
return ;
}

输入:
a b 1
a b 2
a b 3
输出:
a b 1
a b 2
a b 3 
感觉gets()和cin.getline()的用法很类似,只不过cin.getline()多一个参数罢了;

5.getchar()
getchar()   //接受一个字符,需包含“#include<stdio.h>”

#include<iostream>
#include<stdio.h>
using namespace std;
int main (){
char a;
a=getchar(); // getchar( a )--------写法错误
cout<<a<<endl;
return ;
}

输入:abc
输出:a

cin.get(),cin.getline(),getline(),gets(),getchar()的更多相关文章

  1. c++中 cin、cin.get()、cin.getline()、cin.getchar()的区别

    ①cin>>:无法接收空格.Tap键且以空格.Tap键.回车符为分隔符: ②cin.get( ):可以接收空格.Tap键且以回车符为结束符: 一:可输入单个字符 格式: char ch; ...

  2. C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法----细节决定成败 (sort用法)

    C++中cin.cin.get().cin.getline().getline().gets()等函数的用法 学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有 ...

  3. C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法

    学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1.cin 2.cin.get ...

  4. C++中几种输入输出cin、cin.getline()、getline()、sscanf()、sprintf()、gets()等

    1.cin和cout cout是输出流对象的名字,cin是输入流对象的名字 ,“<<”是流插入运算符(也可称流插入操作符〉,作用是将需要输出的内容插入到输出流中,默认的输出设备是显示器. ...

  5. [C++ Primer Plus] 零散知识点(一)、输入函数(cin,cin.get,cin.getline等)+string头文件辨析

    本文几乎照搬http://www.cnblogs.com/luolizhi/p/5746775.html博客,只修改了一点点.不知道怎么转发过来,尴尬... 学C++的时候,这几个输入函数弄的有点迷糊 ...

  6. C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法(转)

    学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1.cin 2.cin.get ...

  7. C++中cin.get(),cin.getline(),cin>>,gets(),cin.clear()使用总结

    1.cin.get()  实质:类istream所定义对象cin的重载成员函数 用于读取单字符  istream& get(char&)    int get(void) 用于读取字符 ...

  8. STL中流相关的输入输出符和get函数彻底总结:cin、cin.get()、cin.getline()、getline()、gets()等函数的用法

    我的总结: [首先:对于流来说,就把流看成一个中转的仓库,对流进行<<运算或>>运算或者get函数的运算都是指,把“流”中的数据“运送”到“内存变量”中去,还是把内存变量中的数 ...

  9. [转]C++中cin、cin.get()、cin.getline()、getline()函数的简单总结

    参考原文:http://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.html,另外做了一些修改~ 1.cin 2.cin.get() 3 ...

  10. cin,get,getline

    一.cin 1.cin使用空白(空格.制表符和换行符)来确定字符串结束的位置,并且对于换行符,cin会把换行符留在输入队列.cin读取字符串放到数组中,并自动在结尾添加空字符. 例如: ]; cin& ...

随机推荐

  1. 对LCD接口的认识

    LCD接口类型: 1.首先我们以传递的信号类型来区分主要有两大类:- 模拟信号: - VGA: Video Graphics Array- 数字信号 - TTL: Transistor Transis ...

  2. 《TomCat与Java Web开发技术详解》(第二版) 第五章节的学习总结 ---- Servlet的高级用法

    这一章节主要是介绍了Servlet技术的一些高级用法,如下是我自己的整理归纳 1.下载文件:即获取服务器文件,并把文件写入反馈给客户端 ServletContext.getResourceAsStre ...

  3. [C++]二维数组还是一维数组?

    记得刚学习C++那会这个问题曾困扰过我,后来慢慢形成了不管什么时候都用一维数组的习惯,再后来知道了在一维数组中提出首列元素地址进行二维调用的办法.可从来没有细想过这个问题,最近自己写了点代码测试下,虽 ...

  4. EJB是什么?(节选)

    近期的项目中使用了EJB.当时就仅仅知道怎么用,没有深入的去理解.当完毕这个项目之后.再回想项目中使用的技术.框架以及工具的时候,突然感觉对EJB这个概念非常是模糊,于是上网搜一些资料.可是,非常多的 ...

  5. android EditText控制最大输入行数

    网络摘抄,仅作记录学习 EditText在android开发中是一个经常用到的基础控件,功能也很强大,限制输入字符类型,字数什么的.但是最近在工作中遇到了需要控制editText最大可输入行数的要求. ...

  6. python学习 02 元组

    元组和列表除了能不能修改外 定义单一元组还需要加逗号

  7. 【转】python测试开发面试题

    出处:http://my.oschina.net/u/1433482/blog/467954?fromerr=WrfxL2Kw 试卷时间 60分钟,请不要在试卷上作答,用A4纸做答题纸作答. 一,中文 ...

  8. 修改Jmeter配置使能支持更大并发

    Jmeter做并发测试时,报错 java.lang.OutOfMemoryError:gc overhead limit exceeded. 原因是jmeter默认分配内存的参数很小,256M吧.故而 ...

  9. python 基础 9.7 创建表

    一. 创建表 #/usr/bin/python #-*- coding:utf-8 -*- #@Time   :2017/11/22 18:05 #@Auther :liuzhenchuan #@Fi ...

  10. 执行动态的delphi脚本

    相关资料:https://www.cnblogs.com/linyawen/archive/2011/10/01/2196950.html 如何在程序中执行动态生成的Delphi代码 经常发现有人提这 ...