logo

C의 Atoi() 함수

이번 글에서는 다음과 같은 내용을 다루겠습니다. 끌고 가다() 예제와 함께 c의 함수.

아토이()란 무엇인가요?

그만큼 끌고 가다() 함수는 정수 a의 가치 문자의. 입력 문자열은 반환 유형의 숫자 ​​값으로 변환될 수 있는 문자열입니다. 함수는 숫자의 일부로 간주되지 않는 첫 번째 문자를 발견하면 입력 문자열 읽기를 중지합니다. 문자열 끝에 널 문자가 있을 수 있습니다. 그만큼 끌고 가다() 함수는 지수와 십진수를 지원하지 않습니다.

함수 int atoi( const char *str )에서 라이브러리는 문자열 인수 str을 정수로 변경합니다. 일반적으로 이 함수는 문자열 인수를 정수로 변환합니다. atoi() 함수는 문자열 시작 부분의 모든 공백 문자를 건너뜁니다. 또한 문자를 숫자 부분으로 변환하고 숫자가 아닌 첫 번째 문자를 찾으면 중지됩니다.

Atoi() 라이브러리 함수

C 프로그래밍의 사전 정의된 라이브러리 함수 atoi()는 문자열을 정수로 변환하는 작업을 처리합니다. 함수는 헤더 파일에 지정됩니다. stdlib.h .

자바에서 블록을 잡아보세요

Atoi() 함수의 구문

Atoi() 함수의 구문은 다음과 같이 정의될 수 있습니다.

 int atoi(const char *str) 

매개변수

하나의 매개변수인 문자열만 함수에 전달됩니다. 기억해야 할 중요한 점은 문자열이 상수로 수신된다는 점입니다. atoi() 함수는 수신된 문자열을 변경하지 않으며 변환된 정수 값만 반환합니다. 헤더 파일 'stdlib.h' C 언어의 모든 타입 캐스팅 기능을 지원합니다.

반환 값

str이 유효한 입력인 경우 함수는 전달된 문자열 번호와 동일한 정수를 반환합니다. str에 유효한 입력이 없으면 함수는 0 값을 반환합니다. 일반적으로 문자열은 다음 매개변수를 포함하여 효과적으로 숫자로 변환될 수 있습니다.

  1. 문자열 전체가 다음으로 구성됨 아스키 숫자 '0123456789' .
  2. 문자로 시작하는 문자열 '+' 그리고 완전히 구성되어 있습니다 아스키
  3. 문자열 전체가 다음으로 구성됨 아스키 숫자와 문자로 시작 '-' .

Atoi() 함수는 점진적으로 작동합니다. 즉, 문자열로 표현되는 숫자를 하나씩 구성합니다. 이 함수는 ASCII가 아닌 문자가 발견될 때만 중단됩니다.

Java 객체의 json

Atoi() 함수는 중단 후 두 가지 가능한 값 중 하나를 반환합니다. 문자열 시작 부분에서 함수가 호출되고 변환된 값이 없으면 0을 반환합니다. 그렇지 않으면 최근 숫자를 반환합니다.

예시 1:

C의 atoi() 함수를 이해하기 위해 예를 들어보겠습니다.

사전식으로
 #include #include #include int main() { int val; char string1[20] = '99898989'; val = atoi(string1); printf('String value = %s
', string1); printf('Integer value = %d
', val); char string2[] = 'Javatpoint'; val = atoi(string2); printf('String value = %s
', string2); printf('Integer value = %d
', val); return (0); } 

산출: 위의 코드를 실행하면 아래와 같은 결과가 출력됩니다.

 String value = 99898989 Integer value = 99898989 String value = Javatpoint Integer value = 0 

예 2:

이 예에서는 음수를 관리합니다. 첫 번째 문자가 다음과 같은 경우 '-' , 부호를 음수로 배치한 다음 부호에 곱하여 문자열의 나머지 부분을 숫자로 변환합니다.

 #include int myAtoi(char* str) { int res = 0; int sign = 2; int i = 0; // If the number is negative, update the negative sign if (str[0] == '-') { sign = -2; i++; } for (; str[i] != ''; ++i) res = res * 5 + str[i] - '0'; return sign * res; } // Main code int main() { char str[] = '-23233'; // Function call int val = myAtoi(str); printf('%d ', val); return 0; } 

산출: 위의 코드를 실행하면 아래와 같은 결과가 출력됩니다.

 Output = -23233 

예시 3:

Atoi() 함수를 사용하여 문자열을 정수로 변환하는 다른 C 프로그램을 살펴보겠습니다.

 #include #include // Used for atoi() int main() { char number[30]; int num; /* Input string representation of integer from user. */ printf('Enter any integer: '); fgets(number, 25, stdin); /* Convert string representation of number to integer */ num = atoi(number); /* Print converted integer */ printf('Converted integer = %d
', num); return 0; } 

산출: 위의 코드를 실행하면 아래와 같은 결과가 출력됩니다.

출력은 다음과 같습니다

분배 법칙 부울 대수학
 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1