cin如何判断输入结束
以求任意长度输入的和为例:
#include<iostream>
int main
{
int sum=0,x=0;
while( std::cin >> x )//判断输入是否结束
sum = sum + x;
std::cout << " The sum is " << sum << std::endl;
system("pause");//可以使得窗口保持住
return 0;
}
在实际运行的时候我发现输入1 2 3 4然后回车后程序不能识别输入结束。查找到的资料如下:
在控制台中输入特殊的控制字符就表示输入结束了:
在 Windows 系统中,通过键盘输入时,按 Ctrl+Z 组合键后再按回车键,就代表输入结束。
在 UNIX/Linux/Mac OS 系统中,Ctrl+D 代表输入结束。
不管是文件末尾,还是 Ctrl+Z 或者 Ctrl+D,它们都是结束标志;cin 在正常读取时返回 true,遇到结束标志时返回 false,我们可以根据 cin 的返回值来判断是否读取结束。
链接:http://c.biancheng.net/view/277.html