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