Chinaunix首页 | 论坛 | 博客
  • 博客访问: 365888
  • 博文数量: 181
  • 博客积分: 215
  • 博客等级: 民兵
  • 技术积分: 313
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-17 19:39
个人简介

王的男人

文章分类

全部博文(181)

文章存档

2016年(2)

2015年(35)

2014年(17)

2013年(84)

2012年(49)

我的朋友

分类: C/C++

2012-06-10 23:47:27

函数原型 long atol( char *str);


 

点击(此处)折叠或打开

  1. long atol( char *str)
  2. {
  3.     long ret = 0;
  4.     int neg = 0;
  5.     int n = 0;
  6.     char *dig = "0123456789";

  7.     while(*str == ' ')
  8.         str++;
  9.     switch(*str)
  10.     {
  11.         case '-':
  12.             neg = 1;
  13.         case '+':
  14.             str++;
  15.             break;
  16.     }
  17.     while(*str >= dig[0] && *str <= dig[9])
  18.     {
  19.         n = *str++ - dig[0];
  20.         if(neg == 1)
  21.             n = -n;
  22.         ret = ret * 10 + n;
  23.     }

  24.     return ret;
  25. }


 

(参考书籍:《c traps and pit falls》 )

阅读(1876) | 评论(0) | 转发(0) |
0

上一篇:纠结的kmp

下一篇:itoa函数

给主人留下些什么吧!~~