大家好,小跳来为大家解答以上的问题。atoi函数用法,atof函数用法这个很多人还不知道,现在让我们一起来看看吧!
1、首先你要了解atof的prototype:double atof(const char *str);和atoi一样,函数的参数类型必须是char *,而如果字符串里面没有可以转换的数字,比如"abcd"的话,那么atof( "abcd" )将返回一个任意值。
2、而对于atoi,返回0特别对于atoi,如果字符串为“0”的话,也会返回0,所以不能判断字符串中是否含有0。
3、而对于atof,在WIKI里写到“If the string is not a valid textual representation of a double, atof will silently fail, returning a random value”所以更为危险。
4、所以不是什么值都可以转化为你要的数据类型的,当然在内存里都是以0,1储存的,没有类型这个概念,而我们可以使用各种类型,其实是编译器的功劳。
5、对于atoi和atof,有新的函数可以替代atoi可以用strtol替代,而atof可以用strtod等替代strtol比atoi安全,具体的你可以查他们的用法,我讲起来就有点复杂了。
本文到此分享完毕,希望对大家有所帮助。