JC Tailor

블로그 이미지
컴퓨터를 사랑하자.~
dkcjs3

Article Category

분류 전체보기 (52)
프로그램방법론 (0)
Tailor 이야기 (0)
C언어 이야기 (49)
C++ 이야기 (1)
API 이야기 (0)
MFC 이야기 (0)
Window XP 이야기 (0)
컴퓨터정보 (1)
나의 삶 이야기 (1)
UNIX (0)

Recent Comment

Recent Trackback

Calendar

«   2017/06   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Archive

  • Total24,659
  • Today1
  • Yesterday0

문자열 변환 함수 atoi() 구현

 

1. atoi()의 함수에 대하여

- 함수원형 : int atoi(const char *s);       /* ascii to integer */

  - 헤더파일 : stdilb.h

  - 기능 : 문자열을 정수로 변환한다. 문자열은 숫자 및 부호로 이루어져 있어야 하며 앞부분에 TAB 이나 공백이 있어도 상관없다. 그러나 영문자, 불필요한 기호 등이 있을 때는 변환이 중지 된다. Overflow에 대한 에러처리는 하지 않는다. 만약 int형의 범위를 넘는 수가 문자열에 들어있을 경우 65536으로 나눈 나머지를 리턴한다.

- 리턴값 : 문자열로부터 변환된 정수, 변환이 불가능한 경우 0이 리턴된다.

 

2. 소스코드

int atoi(char *st)

{

        int i = 0, j = 0;

 

        if (*st == '-' || isdigit(*st)) {

                if(*st == '-') j = 1, st++;

                while(isdigit(*st))

                {

                        i = i * 10 + (*(st)) - 48;

                        st++;

                }

                if (j == 1) return -i;

                else return i;

        }

        else

                return 0;

}

 

3. 실행결과

dalma[ahriman{85}  ~ ] a.out

atoi함수 구현

input : 12341

output : 12341

dalma[ahriman{86}  ~ ] a.out

atoi함수 구현

input : -123123

output : -123123

dalma[ahriman{87}  ~ ] a.out

atoi함수 구현

input : -123.21312

output : -123

dalma[ahriman{88}  ~ ] a.out

atoi함수 구현

input : 34lkd2312

output : 34

신고
Trackback 0 and Comment 0
prev Prev : [1] : [···] : [3] : [4] : [5] : [6] : [7] : [8] : [9] : [10] : [11] : [···] : [52] : Next next

Tag Cloud


티스토리 툴바