十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
cin在输入空格的时候会自动结束输入。相比之下,getline的优点就是在输入字符串的时候可以输入空格。与此同时也有很多种用法。
创新互联建站主要从事网站建设、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务鹤庆,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792用法一.getline()#includegetline(cin,temp,delim);
此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。遇到换行符或者EOF结束,不读取换行符。delim是自己设定的结束符。
在使用getline读入一整行时,如果前面使用getchar()、cin这类读入了一个字母,但是不会读入后续换行\n符号或者空格的输入时,再接getline()就容易出现问题。
这是因为输入数字之后,敲回车,产生的换行符仍然滞留在输入流,接着就被getline(cin,s)给读进去了,此时的s=“\n”,所以实际上s只是读入了一个换行符\n。
而若是前面使用getline(),再又用getline()进行读入,此时不会发生问题。getline()中读入结束的回车后,结束符不放入缓存区,会将读入的\n直接去除,下一个输入前,缓冲区为空,并不会因为回车留下\n。
如果前面用了cin、getchar(),可以在后面使用一个getchar()吃掉接下来的换行。
举例:
#include#include#includeusing namespace std;
int main()
{string str;
getline(cin,str);
cout<
用法二.cin.getline()#includegetline(char * s,n);
getline(char * s,n,delim);
举例:
#includeusing namespace std;
int main () {char name[256]
cout<< "Please, enter your name: ";
cin.getline (name,256);
cout<< name<< endl;
return 0;
}
注意事项getline()是string流的函数,只能用于string类型的输入操作。当你定义了一个string类型变量,只能用getline()来输入。
cin.getline是std流的函数,用于char类型的输入操作。当你定义了一个char类型变量,只能用cin/cin.getline()输入。
引用getline函数介绍
C++ getline函数用法详解
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧