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