在学习C++的过程中,经常会遇到输入输出的问题,以下总结一下下面几个函数的用法:
1)、cin
2)、cin.get()
3)、cin.getline()
4)、getline()
5)、gets()

6)、getch()

1、cin>>
  用法1:最基本,也是最常用的用法,输入一个数字:

  

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

  用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都结束

 #include <iostream>using namespace std;main (){char a[20];cin>>a;cout<<a<<endl;

 
2、cin.get()
  用法1: cin.get(字符变量名)可以用来接收字符

 #include <iostream>using namespace std;main (){char ch;ch=cin.get();   //或者cin.get(ch);cout<<ch<<endl;}

  用法2:cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格

#include <iostream>using namespace std;main (){char a[20];cin.get(a,20);cout<<a<<endl;}

  用法3:cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足.
3、cin.getline() // 接受一个字符串,可以接收空格并输出

  

#include <iostream>using namespace std;main (){char m[20];cin.getline(m,5);cout<<m<<endl;}

  //延伸:
  //cin.getline()实际上有三个参数,cin.getline(接受字符串的看哦那间m,接受个数5,结束字符)
  //当第三个参数省略时,系统默认为’\0’
  //如果将例子中cin.getline()改为cin.getline(m,5,’a’);当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk
  当用在多维数组中的时候,也可以用cin.getline(m[i],20)之类的用法:

  #include<iostream>#include<string>using namespace std;          main (){char m[3][20];for(int i=0;i<3;i++){cout<<"\n请输入第"<<i+1<<"个字符串:"<<endl;cin.getline(m[i],20);}cout<<endl;for(int j=0;j<3;j++)cout<<"输出m["<<j<<"]的值:"<<m[j]<<endl;}

4、getline() // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”

  

#include<iostream>
#include<string>
using namespace std;
int main()
{string str;getline(cin, str);//用于string 类型读入带空格的字符串cout <<"str= "<< str << endl; char a[10];cin.getline(a, 5);//用于字符数组类型 读入带空格的字符串cout <<"a= "<< a;
}

  和cin.getline()类似,但是cin.getline()属于iostream流,

而getline()属于string流,是不一样的两个函数

5、gets() // 接受一个字符串,可以接收空格并输出,需包含“#include<stdio.h>”

  

#include<iostream>#include<string>using namespace std;main (){char m[20];gets(m);     //不能写成m=gets();cout<<m<<endl;}

  类似cin.getline()里面的一个例子,gets()同样可以用在多维数组里面:

  

#include<iostream>#include<string>using namespace std;main (){char m[3][20];for(int i=0;i<3;i++){cout<<"\n请输入第"<<i+1<<"个字符串:"<<endl;gets(m[i]);}cout<<endl;for(int j=0;j<3;j++)cout<<"输出m["<<j<<"]的值:"<<m[j]<<endl;}

6.getch() //包含头文件#include<conio.h> 类似于c语言中的 getchar();

gets,getline,getchar,getch在C++中的使用相关推荐

  1. 缓冲区 cin() getline() getchar()

    程序的输入都建有一个缓冲区,即输入缓冲区.一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据.正因为cin函数是直接从缓冲区取数据的,所以有时 ...

  2. c语言gets和getchar区别,c语言中关于getchar()、getchar()和gets().......

    getchar函数从标准输入读取一个字符并返回它的值,如果输入中不再存在任何字符,函数就会返回常量EOF(在stdio中定义)用于提示文件的结尾. getchar(),getchar()和gets() ...

  3. c语言getchar函数_C语言中带有示例的getchar()函数

    c语言getchar函数 C语言中的getchar()函数 (getchar() function in C) The getchar() function is defined in the < ...

  4. 两个getchar,一个getchar,getch的不同点 出现的不同情况

    我在做学生管理系统时,遇见这样一个问题,第一次用了一个getchar(); 想着回车进入就行: 但当我输入第一个学生信息之后 发生了这个事情,直接闪退. 第二次:使用了两个getchar();虽然解决 ...

  5. C语言输入不同字符 屏幕显示不同,c语言中易混淆的东西 1 getch() getche()和getchar()之间区别 scanf sscanf (fscanf fgets fgetc )...

    getch() getche()和getchar()之间区别 发布人 : IT专家 发布时间 : 2009-10-21 07:52:23.0 首先不要忘了,要用getch()必须引入头文件conio. ...

  6. 区分C语言中getch、getche、fgetc、getc、getchar、fgets、gets

    首先,这两个函数不是C标准库中的函数,    int getch(void) //从标准输入读入一个字符,当你用键盘输入的时候,屏幕不显示你所输入的字符.也就是,不带回显.  int getche(v ...

  7. C++最全输入方式总结(cin、get、getchar、getline)

    目录 写在前面: 一.输入方式 1.cin>> 2.cin.get() 3.cin.getline() 下面介绍几个string的输入: 4.getline() 5.gets() 6.ge ...

  8. getch计算机错误,为什么getch()在C中抛出一个错误

    我正在Windows XP中的Code :: Blocks中运行一个C程序. 我得到一个错误为什么getch()在C中抛出一个错误 "drawing operation is attempe ...

  9. getchar()用法 与 getch()函数使用方法

    getchar()用法 1.从缓冲区读走一个字符,相当于清除缓冲区2.前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完s[i]的值后按回车键所致),所以如果不在此加一个getc ...

最新文章

  1. 剑指offer:面试题36. 二叉搜索树与双向链表
  2. C++ 指针运算符( 和 *) 终于讲明白了
  3. 杭电 1711 Number Sequence 1686 2203
  4. opencv 计时 帧率
  5. RedOffice教你DIY环保小日历
  6. 《Scala机器学习》一一3.3 应用
  7. java中奇偶数的判断
  8. 【转】Quartz.NET
  9. 4.程序员的自我修养---静态链接
  10. javaWeb连接数据库实现简单的登陆注册功能
  11. Android中的三级缓存机制
  12. 拒绝噱头,只来干货——10个具体物联网真实应用案例
  13. STM32通过SPI读W25Q64的ID时钟分析
  14. 欧贝通和工行e卡(虚拟visa卡)
  15. oracle数据迁移到mysql
  16. 代码优化小技巧-使用enum统一返回code码
  17. PRTG网络监控软件
  18. 电子商务网站的设计与实现(一):当前的一些购物体验和开发期望
  19. ubuntu16.04虚拟win7——经验笔记——问题:Kernel driver not installed (rc=1908) error.
  20. JPA 中 findById()踩过的坑

热门文章

  1. [3D动画][材质]
  2. MATLAB算法实战应用案例精讲-【深度学习】多尺度特征融合-目标检测(论文篇五)
  3. 【阿里云生活物联网架构师专题 ②】esp8266 sdk 直连接入阿里云物联网平台,实现天猫精灵找队友零配网功能和语音控制;
  4. qq连接服务器超时怎么办
  5. java窗口排列_以下不是Windows7窗口排列方式的是
  6. [SCOI2009]迷路 题解
  7. Logstash数据处理服务的输出插件Output配置参数详解
  8. 推荐6款在线软件行为分析系统(沙盒)
  9. Django web开发系列(二)图书借阅管理系统之模型设计
  10. 一篇五分生信临床模型预测文章代码复现——Figure 7 外部数据集验证模型