防止错误输入

时间:2011-01-27 09:33:09

标签: c++ c error-handling input

我使用数字(int,float,double,long,unsigned),但是当我将其他字符放入控制台时(例如^[[A*)。因此,我的程序崩溃了

如何保护我的程序免受此错误输入?

注意:我知道一些库函数,即isdigitisallnum,但它们没有那么多帮助

2 个答案:

答案 0 :(得分:1)

在C语言和C ++中执行此操作的方法是将所有输入读取为字符串,然后解析字符串。

这就是为什么你不应该将scanf(“%d”)或cin>>整数用于除调试/学生/爱好者程序以外的任何其他目的的原因之一。

答案 1 :(得分:0)

在C ++中,可以通过字符串流过滤数据来实现这一点。讨论了如何执行此操作at Stanford's introductory C++ course site,并在第19页上提供了读取整数的完整代码。本章的其余部分对于如何在C ++中执行I / O也是一个很好的资源,也可能是是有用的。