c++atoi函数介绍与代码实现实例



atoi函数介绍与代码实现,atoi函数是将字符串转化为整形数据,

说明:能够将从当前开始的字符(数字或+、-)到第一个不是数字的字符结束的数字字符串,转化成整数;

 

atoi 函数的代码实现!

 

  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4. //将输入的字符串转化为 数据
  5. int implatement_atoi(char *a)
  6. {
  7.     int result = 0;
  8.     bool signal = false;
  9.     if((*a>=’0′&&*a<=’9′)||*a==’-'||*a==’+')
  10.     {
  11.         if(*a==’-'||*a==’+')
  12.         {
  13.             if(*a==’-')
  14.                 signal=true;
  15.             a++;
  16.         }
  17.     }
  18.     else
  19.         return 0;
  20.     while(*a>=’0′&&*a<=’9′)
  21.         result = result*10  + (*a-’0′),a++;
  22.     return signal?-result:result;
  23. }
  24. //这里边有一个问题就是这个数一个int型变量表示不了怎么办?
  25. int main()
  26. {
  27.     cout << ”Hello world!” << endl;
  28.     char  c[]=”12354″;
  29.     printf(“转化为整数后 c is :%d\n”,implatement_atoi(c));
  30.     return 0;
  31. }

 

 

此处存在溢出: 是字符串的位数过大超过10位,int型表示不了没有做判断。