반응형

안녕하세요.

오늘은 문자열을 숫자로 변경하는 함수에 대해 알아보도록 하겠습니다.

atoi, atol

함수 원형
int atoi(const char* _String);
int atol(const char* _String);

헤더 파일
stdlib.h

설명
문자열(char*)을 정수(int)로 변환하기 위해 사용됩니다.

리턴값
_String 문자열을 정수로 리턴됩니다.

정수로 변환될 수 없는 문자인 경우에는 0이 리턴됩니다. ex) "AA"
정수 + 정수로 변환될 수 없는 문자일 경우 정수로 리턴됩니다.(ex) "78a" -> 78, "78.2"->78
_String값이 정수최대값 보다 크면, INT_MAX값(2147483647)을 리턴해주고 정수최소(-2147483648)값보다 작으면, INT_MIN값을 리턴합니다.

 

예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>>
 
void main()
{
    int nReturn1 = atoi("78");
    int nReturn2 = atoi("78a");
    int nReturn3 = atoi("a78");
    int nReturn4 = atoi("AA");
    int nReturn5 = atoi("123456789012345678");
    int nReturn6 = atoi("-123456789012345678");
 
    printf("atoi(""78"") return value : %d\n", nReturn1);
    printf("atoi(""78a"") return value : %d\n", nReturn2);
    printf("atoi(""a78"") return value : %d\n", nReturn3);
    printf("atoi(""AA"") return value : %d\n", nReturn4);
    printf("atoi(""123456789012345678"") return value : %d\n", nReturn5);
    printf("atoi(""-123456789012345678"") return value : %d\n", nReturn6);
}
 
cs

결과값

 

atof

함수 원형
double atof(const char* _String);

헤더 파일
stdlib.h

설명
문자열(char*)을 실수(double)로 변환하기 위해 사용됩니다.

리턴값
_String 문자열을 실수로 리턴됩니다.

실수로 변환될 수 없는 문자인 경우에는 0.0이 리턴됩니다. ex) "AA"
실수 + 실수로 변환될 수 없는 문자일 경우 정수로 리턴됩니다. ex)"78.5a"
부동소수점e,E로 표현 가능합니다. ex) "1232323E20"

예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>>
 
void main()
{
    double dbReturn1 = atof("78.5");
    double dbReturn2 = atof("78.5a");
    double dbReturn3 = atof("a78");
    double dbReturn4 = atof("AA");
    double dbReturn5 = atof("1232323E20");
 
 
    printf("atoi(""78"") return value : %lf\n", dbReturn1);
    printf("atoi(""78a"") return value : %lf\n", dbReturn2);
    printf("atoi(""a78"") return value : %lf\n", dbReturn3);
    printf("atoi(""AA"") return value : %lf\n", dbReturn4);
    printf("atoi(""123456789012345678"") return value : %E\n", dbReturn5);
}
 
cs

 

결과값

반응형

+ Recent posts