函数原型 long atol( char *str);
- long atol( char *str)
- {
- long ret = 0;
- int neg = 0;
- int n = 0;
- char *dig = "0123456789";
- while(*str == ' ')
- str++;
- switch(*str)
- {
- case '-':
- neg = 1;
- case '+':
- str++;
- break;
- }
- while(*str >= dig[0] && *str <= dig[9])
- {
- n = *str++ - dig[0];
- if(neg == 1)
- n = -n;
- ret = ret * 10 + n;
- }
- return ret;
- }
(参考书籍:《c traps and pit falls》 )
阅读(1909) | 评论(0) | 转发(0) |