cin判断读取结束 C语言

如何判断cin读取结束
如 我输入264287548,打完后回车,怎么在程序中判断输入完了呢?大牛教一下啊!!

cin是C++的输入流,可以通过>>进行读取。

判断读取结束,一般有两种方法,具体取决于与输入的约定。

1 以特殊值结尾。

如输入整数,以-1结束,那么当读到-1的时候,就确定读取结束了。

代码:

int n;
while(1)
{
    cin>>n;
    if(n == -1)break;
    //处理输入的合法值。
}


2 以EOF结尾,即文件结束符。

这种处理方式适用于以文件作为输入,或者在键盘手动输入文件结束符作为结尾标记。

代码:

int n;
while(cin>>n)
{
    //处理输入的合法值。
}

在windows上输入EOF的方法为Ctrl+Z

其它平台上输入EOF的方法为Ctrl+D

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
如果只输入一行,你回车就表示输入完成,程序会自行读取你的数据。
如果你想循环输入多行,可以采用循环的方式,用特殊的字符或字符串表示输入完成。
形如:
while(true)
{
char ch = getchar();
if(ch == '#') break;
else ...
}本回答被网友采纳

cin判断读取结束 C语言
cin是C++的输入流,可以通过>>进行读龋 判断读取结束,一般有两种方法,具体取决于与输入的约定。1 以特殊值结尾。如输入整数,以-1结束,那么当读到-1的时候,就确定读取结束了。代码:int n;while(1){ cin>>n; if(n == -1)break; \/\/处理输入的合法值。} 2 以EOF结尾,即文件...

...回车终止输入 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 响应时,整个读入语句返回...

cin是什么意思c语言
C++编程语言中,cin是一个标准输入流对象,代表标准输入设备。使用右移运算符“>>”从键盘获取数据,输入流对象cin接收数据并存入内存。cin的使用格式为:cin>>表达式1>>表达式2...>>表达式n,可以连续读取多个输入值。C++的I\/O流中,cin是标准输入流,使用包含iostream头文件实现。读取数据常用方法包括...

cin在C语言里是什么意思
cin是C++编程语言中的标准输入流对象,即istream类的对象。cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。此外,cout是流的对象,即ostream类的对象,cerr是标准错误输出流的对象,也是ostream 类的对象。这里的标准输出指的是终端键盘,标准错误输出指的是终端的屏幕。在理解cin功能时...

在C语言中cin和scanf有什么区别呢?
c\/c++ 语言中cin与scanf区别为:性质不同、操作效率不同、取数据不同。一、性质不同 1、cin:cin是标准化输入,包含在头文件<iostream>中。2、scanf:scanf是格式化输入,包含在头文件<stdio.h>中。二、操作效率不同 1、cin:cin先把要输入的东西存入缓冲区,再输入,导致的输入操作效率稍低,但...

c语言cin什么意思
cin>>a代表获取键盘输入的值赋值给变量a,将cin>>a置于while的循环条件内即while(cin>>a),将会一直测试输入流是否正常。如果输入流正常,就会继续循环获取键盘值,如果输入流错误,或者达到文件末尾(在windows下Ctrl+Z,在Linux下Ctrl+D),该循环就会终止。测试代码如下:include<iostream> using name...

(C语言)在不知道输入多少行结束的情况下,怎么判结束
:iterator iter=a.begin()+1;iter!=a.end();iter++){ if(max<*iter)max=*iter;if(min>*iter)min=*iter;} cout<<"N个数中最大的为:"<<max<<endl;cout<<"N个数中最小的为:"<<min<<endl;return 0;}C语言的话就需要其他的判定条件了,反正在C语言中这是必须知道的 ...

C语言从键盘输入若干个整数,判断读入的正数和负数的个数,输入为0时结...
运行通过,有问题HI:include<stdio.h> int main(){ int num,n=0,m=0;do{ scanf("%d",&num);if(num>0) m++;else if(num<0) n--;}while(num!=0);printf("正整数有%d个,负整数有%d个",m,n);}

C语言 cin.getline()的输入问题?
第二个 cin.getline() 没有提示输入就直接结束。这是因为 cin.getline() 会把剩余的字符留在队列中,并且设置失效位,并关闭输入。为此,需要清除失效位:if (!cin) { cin.clear();while (cin.get() != '\\n') { continue;} }

c++ cin.clear()到底是什么意思呢
当cin函数输入错误的时候,cin里面有个函数可以自动检测到输入错误,若想继续输入便要清楚掉这个错误。可以利用函数cin.rdstate()函数来读取错误的标识符看看。include <iostream>using namespace std;int main(){ int number;cin>>number;cout<<"first input"<<endl;cout<<cin.rdstate()<<endl;cin>>...

相似回答