c++ cin getline,cin cin.get cin.getline的区别

  c++ cin getline,cin cin.get cin.getline的区别

  CIN,GETS(),GETLINE(),CIN。得到(),CIN。GETLINE () Difference _博客_ CIN CIN . get CIN . GETLINE Difference

  Cin:初学C的同学肯定会先遇到cin和cout。这些是C编程语言中的标准iostream对象,包含在文件中。Cin主要用于从标准输入读取数据,标准输入是指终端的键盘。

  当我们从键盘输入一个字符串时,我们需要敲击回车键将字符串输入到缓冲区中,然后回车键将被转换成\n,而换行\n也将被存储在cin的缓冲区中并被计为一个字符。如果我们键入字符串123456并按回车键,那么缓冲区中的字节数将是7而不是6。

  读取cin数据也会从缓冲区获取数据。当缓冲区为空时,cin成员函数将阻塞等待数据的到来。一旦数据到来,我们将启动cin成员函数来读取数据,因此当我们开始键入空格或回车时,我们将不会启动cin来读取数据。然而,一旦数据被读取,当遇到空格、制表符或换行符时,读取将被中断。

  当cin语句读取用户输入的数据时,遇到换行符就停止。换行符不会被读取,而是保留在键盘缓冲区中。当键盘缓冲区为空时,从键盘读取数据的输入语句只等待用户输入值。

  #包括iostream

  使用命名空间std

  int main()

  {

  夏尔付梓[80];

  Cout 请输入您要输入的字符:;

  CIN付梓;

  cout付梓恩德尔;

  系统(“暂停”);

  返回0;

  }当我们键入一个空格或回车时,它没有被反映出来。空格或回车之前的数据将被忽略。

  当我们输入一串字符,然后输入一串带空格的字符时,屏幕只显示空格前的字符串。

  指示cin由空格、制表符或换行符分隔。

  Cin.getcin.get读取一个字符,并且不删除换行符。

  #包括iostream

  使用命名空间std

  int main()

  {

  char a;

  char b;

  a=CIN . get();

  CIN . get(b);

  cout a , b , endl

  系统(“暂停”);

  返回0;

  }输入b[回车]

  显然第二次cin.get()读取第一次输入的回车键。

  我们一次输入两次B,系统存储的顺序是bb[ Enter],所以显示第一次B,显示第二次B。

  Cin.get()读取一行。

  #包括iostream

  使用命名空间std

  int main()

  {

  char a;

  char array[20]={ NULL };

  cin.get(array,20);

  CIN . get(a);

  cout array (int)a endl;

  系统(“暂停”);

  返回0;

  }回车123[空格][空格]123[制表符]12[回车]

  显示cin.get()不会自动删除回车键,可以显示空格和Tab键。

  Enter键会停留在缓冲区中,影响下一次操作,可以通过在下一条input语句之前添加input cin.get()语句来解决。

  Cin.getline()从标准输入设备的键盘读取一个字符串,并以指定的终止符结束。

  #包括iostream

  使用命名空间std

  int main()

  {

  char array[20]={ NULL };

  cin.getline(array,20);//或者指定终止符,使用下面一行//cin.getline(array,20, \ n );

  cout数组endl

  系统(“暂停”);

  返回0;

  }

  #包括iostream

  使用命名空间std

  int main()

  {

  char array[20]={ NULL };

  char b;

  cin.getline(array,20);//或者指定终止符,使用下面一行//cin.getline(array,20, \ n );

  CIN . get(b);

  cout数组, b endl

  系统(“暂停”);

  返回0;

  }

  给定的空格是20,只显示19,最后一个终止符。cin.getline()和cin.get()的区别在于cin.getline()没有在输入缓冲区中留下行结束符(比如换行符)。

  std命名空间中的一个全局函数getline()是在getline () C中定义的,因为这个getline()函数的参数使用的是字符串string,所以在头文件中声明。

  Getline()使用cin从标准输入设备的键盘上读取一行,当遇到以下三种情况时会结束读取操作:

  (1)文件的结尾;

  (2)遇到行分隔符;

  (3)输入达到最大极限。

  Gets()gets()是c中的一个库函数,在头文件stdio.h中说明了可以从标准输入设备中无限读取字符串,不会判断上限。它以回车或文件终止符EOF(即-1)结束,所以程序员要保证缓冲区空间足够大,使得读取时不会发生溢出。

  转载请联系作者取得授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: