Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

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