getline和gets和cin.getline

  • Post author:
  • Post category:其他


持续更新—

记性不太好,总是将一些函数都很么的用法给忘记****

2021/4/22

和    ios::sync_with_stdio(0);

cin.tie(0);

cout.tie(0);

有矛盾关系


两者均为字符串输入


gets适用于已知长度字符串,与getline函数功能相似,

但是不能自定义结束符,只能换行符结束


getline()接受的字符串长度不受限制,



且第三个参数表示为字符串终止条件,默认为回车


#include<stack>
#include<string>
#include<iostream>
using namespace std;
 
int main(){
	//gets适用于已知长度字符串,getline()不限长度 
	string s;
	getline(cin,s,'#');//遇到#停止
	cout<<s<<endl;
	char s1[44];
	gets(s1);
	xout<<s1<<endl;
	return 0;
}
#include<string>//getline包含在string头文件里
#include<iostream>
using namespace std;
int main()
{
    string str;
    getline(cin,str,'#');
    char c=getchar();getchar();
    cout<<str<<' '<<c<<endl;
    return 0;
}

输入为:aa#b

输出为:aa b


cin.getline(


)一次读取多个字符(包括空白字符),

直到读满N-1个

,或者遇到指定的结束符为止(默认的是回车结束)。

#include<iostream>
using namespace std;
int main()
{
char a[10];
cin.getline(a,10,'#');
cout<<a<<endl;
return 0;
}

输入:1234#567890

输出:1234



getline与cin.getline功能类似,但是参数不一样,也属于两个不同的流,是两个不一样的函数。getline接受的字符串长度不受限制


三者均可接收空格并且输出空格。



版权声明:本文为ACGIRL45原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。