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://www.cnblogs.com/yxwkf/p/5076960.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    getline与get函数的区别

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/226369

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午1:11
下一篇 2023年2月13日 下午1:12

相关推荐