atoi函数介绍与代码实现,atoi函数是将字符串转化为整形数据,
说明:能够将从当前开始的字符(数字或+、-)到第一个不是数字的字符结束的数字字符串,转化成整数;
atoi 函数的代码实现!
[cpp] view plaincopy
- #include <iostream>
- #include <cstdio>
- using namespace std;
- //将输入的字符串转化为 数据
- int implatement_atoi(char *a)
- {
- int result = 0;
- bool signal = false;
- if((*a>=’0′&&*a<=’9′)||*a==’-'||*a==’+')
- {
- if(*a==’-'||*a==’+')
- {
- if(*a==’-')
- signal=true;
- a++;
- }
- }
- else
- return 0;
- while(*a>=’0′&&*a<=’9′)
- result = result*10 + (*a-’0′),a++;
- return signal?-result:result;
- }
- //这里边有一个问题就是这个数一个int型变量表示不了怎么办?
- int main()
- {
- cout << ”Hello world!” << endl;
- char c[]=”12354″;
- printf(“转化为整数后 c is :%d\n”,implatement_atoi(c));
- return 0;
- }
此处存在溢出: 是字符串的位数过大超过10位,int型表示不了没有做判断。