1.scanf()函数
原型:int scanf(const char *restrict format,......);
入口参数:第一个参数是格式字符串,它指定了输入的格式,......格式化后的字符串存取地址。
返回值:函数返回值为int类型,如果读取到了“文件结束”则返回EOF,EOF为Ctrl+z或者Ctrl+d。其他情况则返回int型数字,例如:int res = scanf("%d
%d",&a,&b);如果a,b都读取成功,则返回2;如果a,b只读取成功了一个,则返回1;如果a,b都没有读取成功,则返回0.
说明:scanf()函数是C语言库中的函数,但由于C++的向下兼容性,所以在C++中也可以使用此函数。次函数是从标准输入流stdio(一般是键盘输入)中读取数据,并将其按照指定格式输入到制定地址。
头文件:#include <stdio.h>
用例:

#include <stdio.h>
#include <iostream>
using namespace std; int main()
{
int a,b;
scanf("%d %d",&a,&b); //注意此处输入的格式,两个输入数字之间要以空格分隔开来。
printf("%d %d",a,b);
}

2.cin()类(此类命名空间都在std中,无需添加头文件)。
2.1.cin>>函数
说明:当我们从键盘输入时,有一个缓冲区,当输入结束时会将所输入的数据存到缓冲区。而cin>>的作用就是从缓冲区读数据,所以当缓冲区数据本来就有残留时,会出现读取出错的问题。值得一提的是:cin函数遇到空格、TAB、换行时读取结束。
用例:
  1.输入一个字符串。

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

  输入:aaabbbccc
  输出:aaabbbccc

  输入:aaa bbb ccc
  输出:aaa

  2.输入一个数字。

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

  输入:1回车2回车
  输出:3
2.2.cin.get()函数
原型:该函数有三种形式,分别是char ch = cin.get(), cin.get(char ch),
cin.get(array,length)
    1.cin.get() 和
cin.get(char ch)的用法
    这两个函数功能基本一样,都是读取缓冲区的一个字符,遇到换行符结束,但是这两个函数都不会丢弃缓冲区里边的空格      和换行符。char ch = cin.get(), cin.get(char ch)这两句可得到相同的结果。
    用例:

   #include <iostream>
  using namespace std;
void main()
{
char ch1,ch2;
cin.get(ch1);
ch2 = cin.get(); cout<<ch1<<endl;
cout<<ch2<<endl;
}

输入:a换行
    输出:a
   
    (此处有一行空行,因为不会丢弃缓冲区里边的空行)

---------------------------------------------------------------------
    2.cin.get(array,length)
    这个函数是从缓冲区读取字符串,其中array是字符串接受地址,length-1是字符串长度,因为最后一个字符必须存  储'\0'结束符,所以此函数只能接受length-1个字符。
    用例:

    #include <iostream>
using namespace std;
void main()
{
char ch[];
cin.get(ch,);
cou<<ch<<endl;
}

输入:abcdefghi
    输出:abcd
2.3.cin.getline(string str,int length)函数
说明:接收一个长度为length-1的字符串,包括空格,遇到换行结束。

     #include<iostream>
  using namespace std;
  int main()
  {
    char ch[];
    cin.getline(ch,);
    cout<<ch<<endl;
    return ;
  }

  输入:aaaaaaaa
  输出:aaaa
3.getline()函数
原型:ssize_t getline(char **lineptr,size_t *n,FILE
*stream);(在C语言的GCC扩展定义中)
      getline(cin,string
s);(在C++中)

说明:getline不是C语言的库函数,而是GCC的扩展定义或者C++库函数,在C语言中和C++中的使用是不同的.
用例1:(在C++中,应包含头文件<string>,读取字符串包含空格,遇到换行结束,不包括换行)

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

输入:abcdefgh换行
输出:abcdefgh
用例2:(在C语言中,GCC扩展定义)
待补充。。。。。。
4.gets()函数
原型:char *gets(char *buffer);
入口参数:从缓冲区读取字符串后的写入地址
返回值:读取成功后返回与入口参数buffer相同的地址。读取错误返回NULL。
头文件:<string>
说明:接收输入的字符串,没有上限,但是要保证buffer足够大,以换行结束,并将换行符转化为'\0'。
用例:

  #include<iostream>
  #include<string>
  using namespace std;
  int main()
  {
    char ch[];
    gets(ch);
    cout<<ch<<endl;
    return ;
  }

  输入:abcdefg回车
  输出:abcdefg

5.getchar()函数
原型:int getchar(void);
返回值:读取成功返回用户输入的ASCII码,读取失败返回EOF.
头文件:<string>或者<stdio.h>
说明:接收一个字符的输入,包含空格,遇到换行符结束。

  #include<iostream>
  #include<string>
  using namespace std;
  int main()
  {
    char ch;
    ch = getchar();
    cout<<ch<<endl;
    return ;
  }

  输入:abc回车
  输出:a

C++中各种输入函数的用法总结的更多相关文章

  1. Python3:input()输入函数的用法

    Python3:input()输入函数的用法 一.简介 input这个函数,第一个参数是提示语,它默认是空的.在我们使用input的时候,会从标准输入中读取一个string,即字符串(请注意,这里很重 ...

  2. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  3. ecshop中foreach的详细用法归纳

    ec模版中foreach的常见用法. foreach 语法: 假如后台:$smarty->assign('test',$test); {foreach from=$test item=list ...

  4. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  5. C#中timer类的用法

    C#中timer类的用法 关于C#中timer类  在C#里关于定时器类就有3个   1.定义在System.Windows.Forms里   2.定义在System.Threading.Timer类 ...

  6. C#中dynamic的正确用法

    C#中dynamic的正确用法  http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4 ...

  7. C++中typename关键字的用法

    我在我的 薛途的博客 上发表了新的文章,欢迎各位批评指正. C++中typename关键字的用法

  8. Guava中Predicate的常见用法

    Guava中Predicate的常见用法 1.  Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...

  9. C++中const 的各种用法

    C++中const 关键字的用法 const修饰变量 const 主要用于把一个对象转换成一个常量,例如: ; size = ; // error: assignment of read-only v ...

随机推荐

  1. 获取当前Linux的外网地址

    有时候我们在测试配置外网IP是不是成功时,我们需要使用一些命令,使用 ssh 登录可以查看ip, 还有一种可以使用命令: curl ifconfig.me 进行方便获取,公网IP:真的是非常好的服务: ...

  2. 使用java代码操作Redis

    1导入pom.xml依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis ...

  3. 201871010104-陈园园 《面向对象程序设计 (java)》第一周学习总结

    201871010104-陈园园   <面向对象程序设计  (java)>第一周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-dai ...

  4. 【西北师大-2108Java】期中成绩汇总

    [西北师大-2108Java]期中成绩汇总 作业成绩 2018软件工程 得分排行 千帆竞发图 得分明细 学号 博客 博客 总分 201571030325 325 60 201571030332 htt ...

  5. C# 二维数组 转换成 DataTable

    C# 数据转换 Overview C# 窗体操作中,有些比较特别的操作.但是为了方便我们不得不使用一些比较特别的手段. C#中二维数组转DataTable 首先,我们看一下我对二维数组的数据处理.这次 ...

  6. Keras保存模型并载入模型继续训练

    我们以MNIST手写数字识别为例 import numpy as np from keras.datasets import mnist from keras.utils import np_util ...

  7. 【转】ASP.NET Core 如何设置发布环境

    在ASP.NET Core中自带了一些内置对象,可以读取到当前程序处于什么样的环境当中,比如在ASP.NET Core的Startup类的Configure方法中,我们就会看到这么一段代码: publ ...

  8. oracle trunc 日期 数字 的使用例子

    /**************日期********************/1.select trunc(sysdate) from dual --2013-01-06 今天的日期为2013-01-0 ...

  9. sequelize时间自动格式化

    问题 每次查询datetime的字段,显示出来都是这种格式 2019-08-27T12:02:05.000Z 解决办法 初始化Sequelize的时候传入dialectOptions参数 let se ...

  10. .NET Core CSharp初级篇 1-2 循环与判断

    .NET Core CSharp初级篇 1-2 本节内容循环与判断 循环 循环是一个在任何语言都是极为重要的语法,它可以用于很多东西,例如迭代数组等等.在C#中,语法层面的循环有:for , fore ...