반응형
안녕하세요.
오늘은 문자열을 숫자로 변경하는 함수에 대해 알아보도록 하겠습니다.
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 |
결과값
반응형
'개발공부 > C언어&C++' 카테고리의 다른 글
[C언어&C++] strlen 함수(문자열 길이 함수) (0) | 2020.03.06 |
---|---|
[C언어&C++] strcat, strncat 함수(문자열 붙이기 함수) (0) | 2020.03.05 |
[C언어&C++] strcmp, strncmp 함수(문자열 비교 함수) (0) | 2020.03.03 |
[C언어&C++] strcpy, strncpy 함수(문자열 복사 함수) (0) | 2020.03.02 |
[C언어 강좌] 제 11강 구조체(struct) (0) | 2020.02.29 |