如何保证输入(使用cin)安全性和鲁棒性
今天做了微软的几道试题,发现几乎都要求输入,那么使用C++输入我想最容易的是cin了吧,还想用stringstream,scanf?
针对cin其实有很多可以研究的地方如,cin.clear(),cin.fail(),cin.sync().你要输入一个整数,如
int temp;cin>>temp;cin.fail()或者cin.good()不一定反映出错误,比如输入1.1不报错。
亲们,如何保证查出1.1这种带小数的输入错误呢?
[解决办法]
int main()
{
int i=0;
cin >>i;
bool re=isspace(cin.peek());
if(!re)
cout <<"something wrong" <<endl;
return 0;
}