char数组转为整型或浮点型

比如一个数组n[100]中存储了如
n[0]=2134
n[1]=kjsg
.....
得数 那么我想将其中所有数据转化为浮点型数据,并存储到另外一个数组,
请问如何使用atof函数,麻烦帮忙写一下这块的格式谢谢!

首先你要了解atof的prototype:
double atof(const char *str);
和atoi一样,函数的参数类型必须是char *,
而如果字符串里面没有可以转换的数字,
比如"abcd"的话,那么atof( "abcd" )将返回一个任意值。
而对于atoi,返回0

特别对于atoi,如果字符串为“0”的话,也会返回0,
所以不能判断字符串中是否含有0。
而对于atof,在WIKI里写到
“If the string is not a valid textual representation of a double, atof will silently fail, returning a random value”
所以更为危险。

所以不是什么值都可以转化为你要的数据类型的,
当然在内存里都是以0,1储存的,没有类型这个概念,
而我们可以使用各种类型,其实是编译器的功劳。

对于atoi和atof,
有新的函数可以替代
atoi可以用strtol替代,
而atof可以用strtod等替代
strtol比atoi安全,
具体的你可以查他们的用法,我讲起来就有点复杂了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值