全部,
检查和隐藏字符串是否为数字的函数,例如 atol 和 atoi ...我在 atol 描述中检查了 c/c++ 参考,在字符串中没有任何数字的情况下它是这样写的。
不执行任何转换并返回零。
"0"
显然,如果我传递的字符串如此 atol 将返回与前例相同的零,这可能是一个歧义。
由于函数签名是 int atoi() 或 long atol(),因此返回值可能是 int 或 long,因此返回值在所有情况下都将与实际 int 的返回值匹配。(我的意思是即使 atoi 返回负数非数字字符串的值此返回的值与此值的字符串的转换匹配)它自己)歧义持续存在
检查字符串是否为数字或不使用此函数是否不安全?对于这种情况,什么是好的解决方案?