c++中cin如何才能在输入一行数据后,回车终止输入 c语言用scanf可以判断返回EOF,c++

c++中cin如何才能在输入一行数据后,回车终止输入 c语言用scanf可以判断返回EOF,c++貌似不行

scanf()返回成功读入的数据个数,比如scanf("%f%s%d",a,s,d);,正确响应这个输入语句后,其返回值是3。
对于cin,使用起来更方便,成功读入数据后,cin通过内部转换,其返回值是逻辑值1,即true。
int na,nb;
char str[80];
cin >> na >> nb >> str;
用 12 5 ssahd 响应时,整个读入语句返回true,且使得 na = 12,nb = 5,"ssahd"复制到数组str[]中。
用 12 ssahd 5 响应时,na = 12,整个语句返回false,nb和str[]的内容不会有任何变化。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-18
一行数据?什么类型的?
如果int,double,可以
while(cin>>a)
{

}
望采纳,我是新手大家可以一起讨论。追问

如果类型是自定义的类呢?

追答

也一样可以的。

追问

尝试了,貌似不行。。。

追答

这。。
我就不知到了

第2个回答  2014-05-18
在cin中限制输入次数不就行了吗,按回车就会进入cin函数的下一步,不会再执行cin追问

如果不呢,想输入任意个数据呢?

追答

用个循环就可以,不过你如果会监听事件的话,当监听回车键,如果被按下就跳出循环break;
如果不会监听,没学到。那就判断你输入的每一个数据,当输入的数据满足某个条件时就跳出循环,希望对你有帮助。

本回答被提问者采纳
相似回答