问一下这个c++语句是否正确

来源:百度知道 编辑:UC知道 时间:2024/05/31 04:55:20
if(getline(in,a)=="\n";就是判断如果输入的是回车

getline() 返回的是in这个对象,怎么能拿它与字符串的首地址相比较呢?
getline(,,)有三个形参,只有改变第三个参数的缺省值才有可能将回车符读入到a中去。
即使加了cin.unsetf(ios::skipws);这一句,在getline()达不到预期的效果!

应该是这么判断:

if(getline(in,a)==EOF)

楼上的,你可以对EOF的真正含义不是太了解
EOF代表的是整个内容的结束,并且后面不会有有效内容

楼主,你的想法思路正确,但错误有如下两点:
1.""表示字符串 而回车符应该是一个字符
改为: if(getline(in,a)=='\n';
2.cin.unsetf(ios::skipws);//加这句,才能识别输入的空格,换行符
我不知道你具体的代码,反正你要想办法把这个函数用在前面
如下是一个简单的实用过程,帮助你理解:
int main()
{
char a;
char b;
a='\n';
cin.unsetf(ios::skipws);//重点是这句
cin>>b;
if(b==a)
cout<<"yes"<<endl;
return 0;
}

我认为应该对呀。
毕竟你用的是 getline, 得到的应该是字符串