std::istream& get(std::istream& in)
{
int ival;
while(in>>ival, !in.eof()){//遇到文件结束符之前一直输入数据
if(in.bad())//出现系统故障
throw std::runtime_error("IO stream corrupted");
if(in.fail()){//出现可恢复性错误
std::cerr<<"bad data,try again";//提示用户
in.clear();//恢复流
in.ignore(200m,' ');//跳过类型非法的输入项
continue ;//继续读入数据;
}
//读入正常
std::cout<<ival<<" ";
}
in.clear();
return in;
}