C和C++中读取不定数量的输入数据

时间:2021-11-24 04:28:43

C++:

while(cin>>s>>n)

{

...

}

当使用istream对象作为条件时,效果是检测流的状态,如果流是有效的(没有遇到错误),检测成功;流是无效的(遇到文件结尾符EOF,或者遇到无效输入,比如应该输入整数的,输入了字符),检测失败,条件为假。

c:


while(scanf("%s%d",s,&n)==2) //to see if the scanf read in as many items as you want

/*while(scanf(%s%d",s,&n)!=EOF) //this also work */

{

...

}

scanf函数返回成功读入的数据项数,读到文件末尾或者读入出错时则返回EOF。

补充:
用键盘输入时,用什么表示输入结束。
在Windows系统中,Ctrl+Z(Z键),然后按回车
在Unix系统中,Ctrl+D(D键)