当前位置:网站首页 > Haskell函数式编程 > 正文

ifstream get函数(ifstream用法 getline)



遇到了要输入一行字符串操作,我想除了fgets()的方法(),getline()也是可以的,但是我对getline的操作不熟悉,便查阅了很多资料,发现都说的很模糊,借这个机会我想彻底理清楚getline的用法;

网上有说getline有两种用法的,我在这总结一下,

一、getline()用的比较多的用法

//如果在使用getline()之前有使用scanf()那么需要用getchar()将前面的换行符读取,再使用getline(),这是我在编程时遇到的,希望大家重视一下

头文件#include<string>

is是一个流,例如cin

str是一个string类型的引用,读入的字符串将直接保存在str里面

delim是结束标志,默认为换行符

例子1:

执行结果:

输出结果:

Please, enter your full name: yyc#yyc Hello, yyc!

总结可以看出,当我以#作为结束符时,#以及#后面的字符就不再读取。

头文件#include<iostream>

s是一个字符数组,例如char name[100]

n是要读取的字符个数

delim是结束标志,默认为换行符

例子:

输出结果:

Please, enter your name: yyc Please, enter your favourite movie: car yyc’s favourite movie is car

总结:可以看出,cin.getline()是将字符串存储在字符数组当中,也可以读取空格,也可以自己设置结束符标志

——————————————————————————————————————————————————————

在日常使用中我们经常需要将getline与while结合使用

例1:

string str; while(getline(cin,str)){ 。。。 }

那么在这个例子中是不是我们输入了一个回车就会跳出循环呢,答案是否定的,while只会检测cin的输入是否合法,那么什么时候会跳出循环呢,只有1.输入EOF,2.输入到了文件末尾

例2:

string str; while(getline(cin,str),str != “#”){ 。。。 }

在这个例子中,逗号运算符的作用就是将最后一个式子作为判定的条件,即while判断的是str != “#”这个条件,只有当输入到str的为#键时,循环才会结束

版权声明:本文为原创文章

如需转载请注明出处:

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

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

到此这篇ifstream get函数(ifstream用法 getline)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 动态出入库库存公式怎么输入(动态入库企业是什么意思)2025-10-25 09:27:10
  • 亲密付赠卡人暂无可支付方式是什么意思(亲密付赠卡人暂无可支付方式是什么意思呀)2025-10-25 09:27:10
  • 字符串转换编码格式(字符串转换编码格式怎么设置)2025-10-25 09:27:10
  • 一级word文章怎么设置标题样式二级word文章怎么设置标题样式怎么设置(论文一级word文章怎么设置标题样式二级word文章怎么设置标题样式怎么设置)2025-10-25 09:27:10
  • sigmoid函数输出范围(sigmoid函数的表达式及其特点)2025-10-25 09:27:10
  • 支付方式怎么更换银行卡(支付方式怎么更换银行卡账号)2025-10-25 09:27:10
  • 编程教学网站推荐(编程教学网站推荐大全)2025-10-25 09:27:10
  • sigmoid函数输出范围(sigmoid函数实现)2025-10-25 09:27:10
  • sigmoid函数用于(Sigmoid函数用于感知机)2025-10-25 09:27:10
  • max函数是窗口函数吗(max的函数功能是什么)2025-10-25 09:27:10
  • 全屏图片