에브리 저장소

[C++] char형 데이터 int형으로 변환하기 본문

자료구조 · 알고리즘

[C++] char형 데이터 int형으로 변환하기

eblee 2019. 4. 30. 13:52

문제를 풀다가 문자를 정수로 바꾸는 걸 까먹고 안해서 계속 에러가 나는 걸 꽤나 헤맸다.

뒤늦게 숫자가 아스키 코드라는 것을 깨닫고 C++에서 char 데이터형을 int로 변환하는 법을 검색해 보았다.

스택 오버플로우에 쉬운 방법이 있어 기록해 놓는다.

'1'의 문자를 int 1로 수정하고 싶다면 아래와 같이 작성할 수 있다.

char ch1 = '1';
int num1 = ch1 - '0';
cout << num1;  //1

아스키 코드의 순서가 '0' 부터 '9'씩 차례대로 1씩 늘어나므로 위와 같이 작성하면 해당 수의 값을 구할 수 있다.

'1'의 문자의 아스키 코드 값을 보고 싶다면 (int)를 붙여 형 변환을 해준다.

char ch1 = '1';
int numAscii = (int)ch1;
cout << numAscii;  //49 ('1'의 아스키 코드 값)

참고

Comments