atof,就是 把字符串转换成浮点数,这个函数就可以完成,他们的家族有很多:atoi,itoa,其中的意思,就不详细说了,这里举出一个即可,都是一个家族的嘛,都与规律的。
首先说一下关于字符串转换成数字的问题,例如:“12345”要转换就是12345,那么,要是字符串中出现其他的字符,例如:“123ah”,这种情况呢?
显然这就是异常了,我们要写好这个函数,首先就得分析一下这个异常处理的情况:
首先应处理的就是空;如果是空,那就算了;然后就是正负号;然后是小数点;最后就是正常的情况处理了。话不多说,来看看吧!
模拟实现atof
//模拟实现atof
double my_atof(char const *p)
{
double ret = 0;
int flag = 1;
int count = 0;
assert(p != NULL);
while (isspace(*p))
{
p++;
}
while (*p)
{
if (count)
{
count = count *