所有,字母数字在C歧义数字
功能,这检查和隐蔽如果字符串是数字或不例如蒂和的atoi ... 我在C/C++参考检查在蒂描述,它是在字符串中没有任何数字的情况下写成这样。
不执行转换并返回零。
显然,这可以是多义性,如果我传递的字符串是"0"
所以蒂意愿返回零相同先例案件。
由于函数签名为int的atoi()或长蒂()返回的值可能是一个int或长,所以返回值将在所有情况下匹配一个真正的int类型的返回值。(我的意思是,即使atoi返回一个负数的无数字字符串,这个返回值与这个值的字符串转换匹配它自己)歧义坚持
如果它是一个数字或不使用此函数检查字符串是不安全的? 这种情况下最好的解决方案是什么?
atoi不安全,您应该使用strtol代替。 – Lucas
C或C++,只能有一个。另外,Boost有词法铸造,完成任务 – thecoshman
strtol同样的情况它是一个int long strtol它在非数值情况下返回零 – Aymanadou