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

if(getline(in,a)=="尀n";就是判断如果输入的是回车
2025-06-21 10:33:58
推荐回答(4个)
回答1:

楼上的,你可以对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"<return 0;
}

回答2:

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

回答3:

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

回答4:

应该是这么判断:

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