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;
如果不会监听,没学到。那就判断你输入的每一个数据,当输入的数据满足某个条件时就跳出循环,希望对你有帮助。

本回答被提问者采纳

c++中cin如何才能在输入一行数据后,回车终止输入 c语言用scanf可以判断...
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 响应时,整个读入语句返回...

用了cin,程序后面就终止了,但scanf可以用?
如果你在 C++ 中使用了 `cin` 函数,程序后面终止的原因可能是因为 `cin` 函数等待用户输入数据,但用户没有输入数据或者输入的数据格式不正确,导致程序一直等待下去。这种情况下,你可以在使用 `cin` 函数之前先清空输入缓冲区,例如:include <iostream> include <limits> using namespace std;int m...

在c++中怎样输入一串数字并以回车键结束输出
&arr[i]); for(i=0;i<5;i++) printf("%d\\n",arr[i]);}你说的一串数字是一个还是多个,如果是多个,上面的代码就是,直接在一行中输入多个,数字以空格分开。如果只是要一个数字,那就直接是比如 int

c++如何获取输入的同时判断是否为回车
include <iostream>using namespace std;int main(){int i;do{cin >> i;}while(cin.get() != '\\n');}要求输入整型后马上回车 如果输入整型后 再输入一个空格 然后回车 那么就判断不到了 更复杂的可以循环用cin.get()获取字符 然后根据获取的字符值 进行判断是整型输入还是要终止 如果是整型...

c++中如何读入一个整数后再读入一个字符串
这样解释吧:你输入整数,按回车,实际上输入的是:整数和换行符号(\\n)。cin把整数读进了,但是换行符号没有读,因此使用cin.getline会读入\\n。然后就直接结束了。解决办法是把\\n吃掉,哈哈,就是吃掉\\n。在cin.getline之前使用cin.get();吃掉\\n。就实现你想要的结果了。

C++中输入一组数据,但是不知道数据的长度,回车输入就结束,这样怎么做...
应该是用字符数组(也可以说是字符串)char a[MAX];然后,估计你的输入中有空格,你自己尝试下是用GETS(),还是SCANF();二者有一定区别。然后再转换成你想要的数据。在有多个输入数据,又要用回车来结束输入的话,只有这一种方法了

c\/c++中 程序做好后 输入一个数 不用回车就能直接返回结果 这样要怎 ...
使用char ch; scanf("%c", &ch); 或 cin>>ch; 逐位获得输入,然后自己转换为整数类型。(具体转换方法请上网查找)2. 输入数的位数不确定:(比如有可能是两位数 有可能是三位数)没有办法做到,必须有一个结束的标志(即使不用回车,也要用其他标识性字符)。原因是,当你想输入“123”的...

C++ 如何通过连续2个回车打断给数组赋值的for循环
他们没理解到你的意思 可惜我理解到了也没想通怎么办。。。衰。。。楼主的意思是 一般我们输入完毕一敲回车就会结束输入(进入输出)阶段。。。而现在楼主想要敲两次才会结束输入状态 敲一次应该是想表示只换行 继续输入 对吧?然后再敲一个回车 才进入输出状态。。。

C++中怎么在一个字符串类型里输入并存储回车,而不是系统默认的用户结束...
用 scanf 函数可以达到效果,接收回车字符。

C++编程如何整行输入数据?
首先我是acm队员 第一种方法输入数据时用空格代替你之前的回车,在这行所有数据输入完毕之后再按回车相当于你之前的输入方法 原因:c++里cin或scanf读整形时忽略空白字符包括回车和空格 第二种方法,把所有数据复制下来在cmd窗口下右键里有粘贴选项 ...

相似回答