Jof*_*sey 0 c type-conversion atoi
是atoi()C标准的一部分吗?
我应该用什么来转换char*为intif atoi()不标准化?
是的,atoi()是标准C的一部分 - 不幸的是.
我说"不幸",因为它没有错误检查; 如果返回0,你就无法知道那是因为你通过它"0",或者因为你通过它"hello, world\n"(这有可能有不确定的操作,但通常返回0).
该strtol()函数使用起来比较复杂,但它可以进行适当的错误检查.它返回一个long结果,然后你就可以转换为int-检查它的范围后,最好INT_MIN到INT_MAX.
参考:N1570 7.22.1.2.