int atoi(const char *nptr); 정수 표현의 문자열로 int 형식 값을 구함
입력 매개 변수 리스트
nptr 문자열
반환 값
문자열을 구성하는 정수를 int 형식으로 계산한 값
atoi 함수는 문자열의 앞 부분에 부호와 정수 문자들을 하나의 int 값으로 변환하여 반환합니다. 만약 변환할 수 없는 문자를 발견하면 현재 계산한 값을 반환합니다.
사용 예
////C언어 표준 라이브러리 함수 가이드 //int atoi(const char *nptr); 정수 표현의 문자열로 int 형식 값을 구함 //정수 표현의 문자열을 정수 값으로 변환하여 출력 #include <stdlib.h> #include <stdio.h> int main(void) { printf("%d\n",atoi("12")); printf("%d\n",atoi("-12")); printf("%d\n",atoi("12abc")); printf("%d\n",atoi("-12abc")); printf("%d\n",atoi("abc12.34")); printf("%d\n",atoi("-abc12.34")); return 0; }
출력
12 -12 12 -12 0 0
atoi 함수처럼 동작하는 myatoi 함수 만들기
/* https://ehpub.co.kr 실습 내용: 정수 표현의 문자열을 정수 값으로 변환하여 출력 atoi처럼 동작하는 myaoti 작성 */ #include #include int myatoi(const char* str) { int sign = 1; if (*str == '-') { sign = -1; str++; } int value = 0; while (*str) { if ((*str >= '0') && (*str <= '9'))//isdigit(*str) { value = value * 10 + *str - '0'; str++; } else { break; } } return value * sign; } int main(void) { printf("%d\n", atoi("12")); printf("%d\n", atoi("-12")); printf("%d\n", atoi("12abc")); printf("%d\n", atoi("-12abc")); printf("%d\n", atoi("abc12.34")); printf("%d\n", atoi("-abc12.34")); printf("=====================\n"); printf("%d\n", myatoi("12")); printf("%d\n", myatoi("-12")); printf("%d\n", myatoi("12abc")); printf("%d\n", myatoi("-12abc")); printf("%d\n", myatoi("abc12.34")); printf("%d\n", myatoi("-abc12.34")); return 0; }
실행 결과
12 -12 12 -12 0 0 ============================= 12 -12 12 -12 0 0