简单的实现atoi函数
2014-10-08 10:41
176 查看
一、原型:
int atoi(const char *nptr);二、函数说明
参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零,
头文件: #include <stdlib.h>
三、函数简单实现:
#include <iostream> using namespace std; isspace(int x) { if(x==' '||x=='\t'||x=='\n'||x=='\f'||x=='\b'||x=='\r') return 1; else return 0; } isdigit(int x) { if(x<='9' && x>='0') return 1; else return 0; } int My_atoi(const char *nptr) { int c; /* current char */ int total; /* current total */ int sign; /* if '-', then negative, otherwise positive */ /* skip whitespace */ while ( isspace((int)(unsigned char)*nptr) ) ++nptr; c = (int)(unsigned char)*nptr++; sign = c; /* save sign indication */ if (c == '-' || c == '+') c = (int)(unsigned char)*nptr++; /* skip sign */ total = 0; while (isdigit(c)) { total = 10 * total + (c - '0'); /* accumulate digit */ c = (int)(unsigned char)*nptr++; /* get next char */ } if (sign == '-') return -total; else return total; /* return result, negated if necessary */ } int main() { char str[256]; cout<<"请输入要转化为整数的字符串:"; cin>>str; cout<<"转化为整数后输出是:"; cout<<My_atoi(str)<<endl; return 0; }
相关文章推荐
- atoi函数的简单实现
- atoi函数和itoa函数的简单实现
- 用vb.net与acess结合实现简单的电话号码本程序(一)
- XML 简单接口 (SAX2)用Visual Basic 实现的示例
- 简单实现Crystal Report的动态加载
- 跨域名的Cookie实现---简单另类的实现方法
- 用NUnit2.1简单实现.net的测试驱动开发(TDD)
- 内容分页简单实现代码及祥解(C#)
- Dhtml+Js算法:5个小球运动的简化版,变通实现更简单的飞行的图片
- 打印的简单实现,以及更改打印设置
- Editplus + Zend Encoder实现简单PHP源码加密IDE环境
- 一个简单聊天室的两种实现 (fcntl 和 select)
- http断点续传简单实现(java)
- 自己如何实现简单的http服务器
- 简单的在线升级的实现方法
- 简单分析用SPI实现防火墙
- 初学者看过来:简单谈谈 C/C++ 递归的思想,实现,以及和循环的关系。
- 一个简单的菜单按钮的实现
- Dhtml:用ondrag事件简单的实现鼠标拖动物件.
- Web报表打印·简单实现·(一)