用C ++编写自己的atoi()

c编程语言中的atoi()函数用于处理字符串到整数的转换。该函数将字符串作为输入,并以整数类型返回值。

语法

int atoi(const char string)

接受的参数-atio()函数接受一个字符串作为输入,它将转换为等效的整数。

返回类型-函数返回一个整数值。该值将是有效字符串的等效整数,否则将返回0。

atoi()方法的实现-

我们取字符串的每个字符,并通过将数字乘以前一个结果乘以10来得出整数。

对于负整数,我们将检查-中字符串的第一个字符,然后将最终结果乘以-1。

我们将通过检查每个字符是否位于0到9之间来检查有效的字符串。

显示我们解决方案实施情况的程序,

示例

#include <iostream>
using namespace std;
bool isNumericChar(char x) {
   return (x >= '0' && x <= '9') ? true : false;
}
int myAtoi(char* str) {
   if (*str == '\0')
      return 0;
   int result = 0;
   int sign = 1;
   int i = 0;
   if (str[0] == '-') {
      sign = -1;
      i++;
   }
   for (; str[i] != '\0'; ++i) {
      if (isNumericChar(str[i]) == false)
         return 0;
      result = result * 10 + str[i] - '0';
   }
   return sign * result;
}
int main() {
   char string[] = "-32491841";
   int intVal = myAtoi(string);
   cout<<"The integer equivalent of the given string is "<<intVal;
   return 0;
}

输出结果

The integer equivalent of the given string is -32491841