getline()与cin.getline()函数用法详解

getline()与cin.getline()函数用法详解getline 函数可以让我们很方便的输入一串字符串 getline 不仅简单 而且安全 因为全局函数 getline 会帮你处理缓冲区用完之类的麻烦 常见的 getline 函数语法有两条 istream amp getline char buffer streamsizenu chardelim istream amp getline char bu

getline()函数可以让我们很方便的输入一串字符串。getline()不仅简单,而且安全,因为全局函数 getline() 会帮你处理缓冲区用完之类的麻烦。常见的getline()函数语法有两条:

istream &getline( char *buffer, streamsize num, char delim ); istream &getline( char *buffer, streamsize num );

其中的buffer、num、delim的意思分别为

buffer: 进行读入操作的输入流

num 存储读入的内容

delim 终结符

功能:

输入流num中读到的字符存入buffer中,直到遇到终结符delim才结束。对于第一个函数delim是可以由用户自己定义的终结符;对于第二个函数delim默认为 ‘\n’(换行符)。

函数在输入流num中遇到文件结束符(EOF)或者在读入字符的过程中遇到错误都会结束。

在遇到终结符delim后,delim会被丢弃,不存入line中。在下次读入操作时,将在delim的下个字符开始读入。

eg1:输入get?line()    输出get

#include 
  
    #include 
   
     using namespace std; int main(){ string line; getline(cin,line,'?'); cout< 
     
    
  

输出结果截图:

getline()与cin.getline()函数用法详解

这里输入流实际上只读入了get,?后面的line()并没有存放到line中(仍停留在输入缓冲区里)。

而且这里把终止符设为?,你输入的时候就算输入几个回车换行也没关系,输入流照样会读入。例如:

getline()与cin.getline()函数用法详解

 getline也可以作为成员函数使用:

cin.getline(char *cha,int num,char f);

向cha中输入num个字符,输入过程中达到num-1个数或者提前遇到f字符,输入结束。

eg2:输入hello wo?rld    输出hello wo,或者输入hello world    输出hello wor

#include 
  
    #include 
   
     using namespace std; int main(){ char line[100]; cin.getline(line,10,'?'); cout< 
     
    
  

getline()与cin.getline()函数用法详解

getline()与cin.getline()函数用法详解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222225.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午4:17
下一篇 2026年3月17日 下午4:17


相关推荐

  • spring、springMvc、springBoot和springCloud的联系与区别

    spring、springMvc、springBoot和springCloud的联系与区别spring和springMvc:1.spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(springMvc)、业务层(Ioc)、持久层(jdbcTemplate)等都提供了多种配置解决方案;2.springMvc是spring基础之上的一个MVC框架,主要处理web开发的路径映射和视图渲染,属于spring框架中WE…

    2022年6月14日
    27
  • 在IDEA中实战Git「建议收藏」

    在IDEA中实战Git「建议收藏」工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:假设小组中有两个人,组长小张,组员小袁场景一:小张创建项目并提交到远程Git仓库场景二:小袁从远程Git仓库上获取项目源码场景三:小袁修改了部分源码,提交到远程仓库场景四:小张从远程仓库获取小袁的提交场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发场景六:小袁把分支提交到远程Git仓库场景七…

    2022年6月29日
    40
  • 最新idea激活码永久【2021免费激活】

    (最新idea激活码永久)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月22日
    332
  • 2017 上海车牌(沪牌)标书购买攻略

    2017 上海车牌(沪牌)标书购买攻略本文介绍 上海车牌上海牌照标书购买的攻略,本文会一直跟随政策而更新, 希望对大家有所帮助本文2017年4月更新阅读目录第一步:确认自己是否有资格购买标书一定要确认自己的

    2022年7月3日
    49
  • 迅雷种子为什么php文件后缀,迅雷BT文件后缀是什么?[通俗易懂]

    迅雷种子为什么php文件后缀,迅雷BT文件后缀是什么?[通俗易懂]你是否正在寻找关于文件后缀的内容?让我把最实时的东西奉献给你:迅雷BT文件后缀是什么?BT是一个后缀名为.torrent的小文件,它里面保存了服务器地址、要下载的文件的大孝分成的块数以及各种下载参数设置,这个文件一般在20k-100k大小,可以把*.php直接改成*.torrent试试!要么就是文件制作出错!在去这个页面下载一次,当弹出迅雷下载的时候点取消.让Windows下载.会出现保存对话框…

    2025年8月11日
    7
  • stable diffusion 出不了图片怎么回事了

    stable diffusion 出不了图片怎么回事了

    2026年3月15日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号