Mat*_*hew 0 c c++ integer overflow
在C或C++中是否有办法检查用户提供的数字是否超出整数类型的范围?
例如,让我们假设我们使用的是16位有符号整数,范围为-32768到32767.
如果用户输入55555进入程序,这将被包装成一个负数,这样如果你使用的函数可以接受任何数字,结果将是错误的.
在C或C++中是否有办法确定用户提供的数字是否在整数类型的范围内?
更新:我在一个简单的减法程序中使用数字,它接受两个数字并从第一个减去第二个数字.
hex*_*ist 5
如果你正在使用strtol它会设置errno为ERANGE溢出发生的东西
strtol
errno
ERANGE
归档时间:
13 年,7 月 前
查看次数:
1507 次
最近记录:
7 年,11 月 前