Post

c++ 에서 char, string, int 변환

c++ 에서 char, string, int 변환

char to int

1
2
3
4
5
6
7
8
9
10
11
// 방법1. 형 변환을 사용한다.
char c = '1';
int i = (int)c; // static_cast<int>(c);

// 방법2-1. '0'을 빼주면 된다. ('1'의 아스키코드 값은 49, '0'의 아스키코드 값은 48)
char c = '1';
int i = c - '0';

// 방법2-2. 
char c = '1';
int i = c - 48;

string to int

1
2
3
4
5
6
7
// 방법1. stoi() 함수를 사용한다.
string s = "123";
int i = stoi(s);

// 방법2. atoi() 함수를 사용한다.
string s = "123";
int i = atoi(s.c_str()); // c_str() 함수는 string을 char*로 변환한다.

int to char

1
2
3
4
5
6
7
// 방법1. 형 변환을 사용한다.
int i = 1;
char c = (char)i; // static_cast<char>(i);

// 방법2. '0'을 더해주면 된다. (1의 아스키코드 값은 49, 0의 아스키코드 값은 48)
int i = 1;
char c = i + '0';

int to string

1
2
3
4
5
6
7
8
9
// 방법1. to_string() 함수를 사용한다.
int i = 123;
string s = to_string(i);

// 방법2. stringstream을 사용한다.
int i = 123;
stringstream ss;
ss << i;
string s = ss.str();

📌 자주 쓰는 예시

| 숫자 | 문자 | 설명 | |——-|——|——| | 65 | ‘A’ | 대문자 시작 | | 97 | ‘a’ | 소문자 시작 | | 48 | ‘0’ | 숫자 문자 시작 |

This post is licensed under CC BY 4.0 by the author.