어제의 나보다 성장한 오늘의 나

[c++] ( int to char / char to int / int to string / string to int ) 정리 및 예제 (to_string , stoi , '0' , 48) 본문

c++/문법

[c++] ( int to char / char to int / int to string / string to int ) 정리 및 예제 (to_string , stoi , '0' , 48)

today_me 2022. 2. 23. 00:39
반응형

오늘은 c++에서 변수의 타입을 변경해야 할 때 사용하는 함수 및 방법을 정리해봤다.

Ps에서 정말 많이 사용 되기 때문에 반드시 알고 있어야 한다.

 


 

 

1) int  -> char 변환

 

◎ '0' or 48을 더해준다.

 

int before = 3;
char after = before + '0'; // int -> char 변환.

 

char after = before + 48; // 이렇게 써도 결과가 같다.

 


 

 

2) char -> int 변환

 

◎ '0' 이나 48을 빼준다.

 

char before = '3';
int after = before - '0'; // char -> int

 

int after = before - 48; // 대체 가능

 

1) 2) 가 가능한 이유

 

'0' 이 아스키 코드 48 이다.

그리고 '1' 은 49 , '2'은 50 .... '9' 은 57이다.

그래서 '3'에서 '0'을 빼고 int에 집어넣으면(51 - 48 = 3) int 3이 되는 것이다.

 

 


 

 

3) int -> string

 

◎ to_string 사용

◎ 헤더파일 #include <string> 필요

 

int before = 100;

string s = to_string(before); // int -> string

 


 

4) string -> int

 

◎ stoi 사용

◎ 헤더파일 #include 필요

 

string s = "100";
int i = stoi(s); // string -> int

 

string에 숫자와 문자가 함께 있다면?

 string s = "1 to 100";
int i = stoi(s);

cout << i; // 출력 : 1

문자 인 부분부터는 int로 안 바뀐다.

 

 

반응형
Comments