get.h
#ifndef _GET_H
#define _GET_H
#include <iostream>
std::istream& get(std::istream& in);
#endif
get.cpp
#include "get.h"
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." << std::endl;
in.clear();
in.ignore(200,'\n');
continue;
}
std::cout << "输入的数据: " << ival << std::endl;
}
in.clear();
return in;
}