返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >cin.get()和cin.getline()之间的区别
  • 825
分享到

cin.get()和cin.getline()之间的区别

cin.getcin.getline 2022-11-15 22:11:52 825人浏览 独家记忆
摘要

cin.getline()和cin.get()都是对输入的面向行的读取,即一次读取整行而不是单个数字或字符,但是二者有一定的区别。cin.get()每次读取一整行并把由Enter键生

cin.getline()和cin.get()都是对输入的面向行的读取,即一次读取整行而不是单个数字或字符,但是二者有一定的区别。

cin.get()每次读取一整行并把由Enter键生成的换行符留在输入队列中,比如:


#include <iOStream>
using std::cin;
using std::cout;
const int SIZE = 15;
int main( ){
cout << "Enter your name:";
char name[SIZE];
cin.get(name,SIZE);
cout << "name:" << name;
cout << "\nEnter your address:";
char address[SIZE];
cin.get(address,SIZE);
cout << "address:" << address;
}

输出:
Enter your name:jimmyi shi
name:jimmyi shi
Enter your address:address:

在这个例子中,cin.get()将输入的名字读取到了name中,并将由Enter生成的换行符'/n'留在了输入队列(即输入缓冲区)中,因此下一次的cin.get()便在缓冲区中发现了'/n'并把它读取了,最后造成第二次的无法对地址的输入并读取。解决之道是在第一次调用完cin.get()以后再调用一次cin.get()把'/n'符给读取了,可以组合式地写为cin.get(name,SIZE).get();。

cin.getline()每次读取一整行并把由Enter键生成的换行符抛弃,如:


#include <iostream>
using std::cin;
using std::cout;
const int SIZE = 15;
int main( ){
cout << "Enter your name:";
char name[SIZE];
cin.getline(name,SIZE);
cout << "name:" << name;
cout << "/nEnter your address:";
char address[SIZE];
cin.get(address,SIZE);
cout << "address:" << address;
}

输出:
Enter your name:jimmyi shi
name:jimmyi shi
Enter your address:YN QJ
address:YN QJ

由于由Enter生成的换行符被抛弃了,所以不会影响下一次cin.get()对地址的读取。
如果cin.get()是一个一个字符的读入,但是cin.get()不会忽略任何字符,对于回车符需要单独处理。

两点注意:
(1) 学会区别get()与getline();
(2)换行符号是\n,而不是/n;

--结束END--

本文标题: cin.get()和cin.getline()之间的区别

本文链接: https://lsjlt.com/news/172714.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • cin.get()和cin.getline()之间的区别
    cin.getline()和cin.get()都是对输入的面向行的读取,即一次读取整行而不是单个数字或字符,但是二者有一定的区别。cin.get()每次读取一整行并把由Enter键生...
    99+
    2022-11-15
    cin.get cin.getline
  • C++中cin.getline()和getline()函数的区别小结
    前言 C++输入过程中,是把输入加载到缓冲区中,然后对缓冲区中的字符进行读取。cin,cin.get(),cin.getline()三个函数虽然都可以进行舒服读取,但是它们对缓冲区内...
    99+
    2024-04-02
  • Spring和SpringBoot之间的区别
    目录Spring是什么? Spring Boot是什么? Maven依赖项 springboot为不同的Spring模块提供了许多启动程序依赖项。最常用的方法有:MVC配置 配置模板...
    99+
    2024-04-02
  • SuspendLayout和BeginUpdate之间的区别
    SuspendLayout和BeginUpdate都是用于暂时停止控件的绘制和布局更新,但二者的使用场景和效果有所不同。1. Sus...
    99+
    2023-09-26
    区别
  • textbox和richtextbox之间的区别
    Textbox和RichTextbox是两种文本输入控件,它们之间的主要区别在于富文本支持和功能的丰富程度。1. 文本格式支持:Ri...
    99+
    2023-09-26
    textbox
  • RxJS:auditTime 和 sampleTime 之间的区别
    `auditTime` 和 `sampleTime` 是 RxJS 中用于时间节流的操作符,它们的区别在于:1. `auditTim...
    99+
    2023-09-27
    区别
  • RDBMS 和 MongoDB 之间的区别
    RDBMSRDBMS 代表关系数据库管理系统。它将数据以实体形式存储为表。它提供多层信息安全。每个表可能有也可能没有主键(用于唯一标识表中的记录)和外键(用于标识两个表之间的关系)。 RDBMS 使用 SQL 语言来查询数据库。流行的 RD...
    99+
    2023-10-22
  • cin.getline()和getline()函数在C++中有什么区别
    本篇文章为大家展示了cin.getline()和getline()函数在C++中有什么区别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。cin.getline():用法:接收一个字符串,可以接收空格...
    99+
    2023-06-14
  • 详解Shell $*和$@之间的区别
    $* 和 $@ 都表示传递给函数或脚本的所有参数,我们已在《Shell特殊变量》一节中进行了演示,本节重点说一下它们之间的区别。 当 $* 和 $@ 不被双引号" "包围时,它们之间没有任何区别,都是将接收到的每个参数看...
    99+
    2022-06-04
    Shell $* $@
  • SQL 和 T-SQL 之间的区别
    在这篇文章中,我们将了解 SQL 和 T-SQL 之间的区别。SQL它是非过程语言。关系数据库使用 SQL。它代表结构化查询语言。它使用查询来查看和操作数据。使用DML和DDL操作-数据操作语言和数据定义语言。 它被认为是一种开源语言。它有...
    99+
    2023-10-22
  • 浅谈StringEntity 和 UrlEncodedFormEntity之间的区别
    StringEntity 和 UrlEncodedFormEntity的区别 一、UrlEncodedFormEntity //设置请求方式与参数 URI uri = new U...
    99+
    2024-04-02
  • Linux中[./]和[/]和[.]之间的区别有什么
    本篇文章为大家展示了Linux中[./]和[/]和[.]之间的区别有什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。/是指根目录,就和Windows的我的电脑那个位置差不多。./是指用户所在的当前...
    99+
    2023-06-28
  • Shell $*和$@之间有什么区别
    本篇内容主要讲解“Shell $*和$@之间有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell $*和$@之间有什么区别”吧!$* 和 $@ 都表示传递给函数或脚本的所有参数,本...
    99+
    2023-06-09
  • MariaDB和PostgreSQL之间有何区别
    MariaDB和PostgreSQL都是流行的开源关系型数据库管理系统,但它们之间有一些区别: 历史和支持:MariaDB起源于M...
    99+
    2024-04-09
    MariaDB
  • SQL和NoSQL之间的区别有哪些
    本篇文章为大家展示了SQL和NoSQL之间的区别有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。主要差异:1.类型SQL数据库主要称为关系数据库(RDBMS);...
    99+
    2024-04-02
  • call()和apply()之间的区别是什么
    这篇文章主要介绍call()和apply()之间的区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 不同之处是: call() 方法分别接受参数。 apply() 方法...
    99+
    2024-04-02
  • vps和云服务器之间的区别
    这篇文章主要讲解了“vps和云服务器之间的区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vps和云服务器之间的区别”吧! 首先来说说云服务器和VPS是什么东西吧。云服务器就是一...
    99+
    2023-06-07
  • TOTALFREESPACE和AvailableFreeSpace之间的区别是什么
    TOTALFREESPACE和AvailableFreeSpace是操作系统中用于表示磁盘空间的两个指标。TOTALFREESPAC...
    99+
    2023-09-26
    区别
  • SAP ERP 系统和 DBMS 之间的区别
    DBMS 或数据库管理系统基本上是管理数据库所需的工具/界面。例如,SQL Server 或像 MYSQL Workbench 这样的工具就是 DBMS。 DBMS主要是为技术人员使用或设计的。ERP(企业资源计划系统)是一个只有一个数据库...
    99+
    2023-10-22
  • Console.writeline()/trace.writeline()之间的区别
    Console.WriteLine() 和 Trace.WriteLine() 是两个不同的输出方法。Console.WriteLi...
    99+
    2023-09-27
    区别
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作