getline与get函数的区别

getline与get函数的区别

大家好,又见面了,我是全栈君。

     get()函数相对getline来说使用方法要灵活的多了。

     1.   int get()是指从流中抽取单个字符并返回,这个是没有參数的形式。由于c++不像c语言使用getchar()

    2.istream &get(char*,int ,char)是指从流中抽取字符直到终止符(默认是\n)或者抽取字符达到第二个參数给定的数量或者已到文件末尾,将其存储在第一个參数指定的字符数组里。

    3.istream &get(char &)是指从流中抽取单个字符并存入引用变量中。

   4.istream &get(streambuf &,char)是指从流中取的字符存入streambuf 对象,直到终止符或文件末尾.。

对照getline我们是採用对照

    istream &getline(char*,int ,char)的形式的。



二者的主要区别是当get()函数遇到限定符时候是不读取限定符的,是将其留在流的,而getline()是读取限定符的,可是却不显示的。


#include<iostream>
using namespace std;
int main()
{
	char  buf[100]={0};
	char sx;
	cin.get(buf,100,'#');
	cout<<buf<<endl;
	cin.clear();
	sx=cin.get();
	cout<<sx<<endl;
	return 0;
}

getline与get函数的区别

#include<iostream>
using namespace std;
int main()
{
	char  buf[100]={0};
	char sx;
	cin.getline(buf,100,'#');
	cout<<buf<<endl;
	cin.clear();
	sx=cin.get();
	cout<<sx<<endl;
	return 0;
}


getline与get函数的区别

我们能够看到我们用get返回用get(,,)与getline(。,)读取之后的流之后,我们发现get(。,)返回的是限定符‘#’。而getline则是返回限定之后的回车符号。回车按键是我们输入之后让程序运行的时候输入的。在c语言其中我们会採用getchar()来扔掉流中的这个回车



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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lldp协议代码阅读_LLDP链路层发现协议详解

    lldp协议代码阅读_LLDP链路层发现协议详解LLDP(链路层发现协议)是定义在802.1ab中的一个二层协议,接入网络的设备可以通过其,将管理地址、设备标识、接口标识等信息发送给同一个局域网络的其它设备。LLDP帧格式封装有LLDPDU的报文称为LLDP帧,其封装格式有两种:EthernetII和SNAP(SubnetworkAccessProtocol,子网访问协议)。EthernetII格式封装的LLDP帧…

    2022年6月1日
    50
  • google search_google.com

    google search_google.comgson中字符串转换为json数据:StringtestString=”‘bgColorPc ‘:’red'”;JsonObjectjsondetail=newJsonParser().parse(testString).getAsJsonObject();StringbgColorPc=jsondetail.get(“bgColorPc”).getAsStrin

    2022年8月23日
    3
  • java128陷阱

    java128陷阱public static void main(String[] args){ Integer a=128; Integer b=128; System.out.print(a==b);//false a=127; b=127; System.out.print(a==b);//true}为什么对于一个Integer来说,两个Integer都为128的时候通过判断为false,127时的却是true呢?其实这一切都是因为Java中的装箱

    2022年8月8日
    3
  • ViewGroup.LayoutParams 和 MeasureSpec

    ViewGroup.LayoutParams 和 MeasureSpec1.LayoutParams LayoutParams 是ViewGroup的内部静态类,ViewGroup的子类(如RelativeLayout,LinearLayout,FrameLayout)都有其对应的   ViewGroup.LayoutParams的子类,如RelativeLayoutParams LayoutParams的作用:指定视图View 的高度(heig…

    2022年7月17日
    13
  • 深入理解java的finalize

    深入理解java的finalize基本预备相关知识 nbsp 1java 的 GC 只负责内存相关的清理 所有其它资源的清理必须由程序员手工完成 要不然会引起资源泄露 有可能导致程序崩溃 nbsp 2 调用 GC 并不保证 GC 实际执行 nbsp 3finalize 抛出的未捕获异常只会导致该对象的 finalize 执行退出 nbsp 4 用户以自己调用对象的 finalize 方法 但是这种调用是正常的方法调用 和对象的销毁过程无关 nbsp 5JVM 保证

    2025年6月6日
    0
  • Android 电话自己主动接听和挂断具体解释「建议收藏」

    Android 电话自己主动接听和挂断具体解释

    2022年1月26日
    48

发表回复

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

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