기술 블로그

string to int(문자열을 int로 변환) 본문

C++ STL

string to int(문자열을 int로 변환)

parkit 2019. 4. 16. 23:00
728x90
반응형

2가지 방법이 있다.


문자열 변수를 s라고 하자. 







첫 번째 방법


string s;


int sc;


sc = atoi(s.c_str());








두 번째 방법


string s;


int sc;


sc = stoi(s);












결과 화면부터 올리겠다. (2가지 방법 다 동일한 결과)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
변환 전 문자열 = 123456789
변환 후 int 숫자 = 123456789
 
 
변환 전 문자열 = -23934
변환 후 int 숫자 = -23934
 
 
변환 전 문자열 = 00000001
변환 후 int 숫자 = 1
 
 
변환 전 문자열 = 0002324
변환 후 int 숫자 = 2324
cs














1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <queue>
#include <stack>
#include <cstdio>
#include <vector>
#include <cstring>
#include <string>
#include <math.h>
#include <algorithm>
#include <map>
#include <set>
#include <sstream>
#include <tuple>
 
#pragma warning(disable:4996)  
#pragma comment(linker, "/STACK:336777216")
 
using namespace std;
 
int main(void)
{
    string s;
 
    s = "123456789";
    cout << "변환 전 문자열 = " << s << '\n';
    printf("변환 후 int 숫자 = %d\n\n\n", atoi(s.c_str()));
 
    s = "-23934";
    cout << "변환 전 문자열 = " << s << '\n';
    printf("변환 후 int 숫자 = %d\n\n\n", atoi(s.c_str()));
 
    // 앞 0은 제거된다. 즉, 자연수 1이 됨.
    s = "00000001";
    cout << "변환 전 문자열 = " << s << '\n';
    printf("변환 후 int 숫자 = %d\n\n\n", atoi(s.c_str()));
 
    // 앞 0은 제거된다.
    s = "0002324";
    cout << "변환 전 문자열 = " << s << '\n';
    printf("변환 후 int 숫자 = %d\n\n\n", atoi(s.c_str()));
 
    return 0;
}
cs












1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <queue>
#include <stack>
#include <cstdio>
#include <vector>
#include <cstring>
#include <string>
#include <math.h>
#include <algorithm>
#include <map>
#include <set>
#include <sstream>
#include <tuple>
 
#pragma warning(disable:4996)  
#pragma comment(linker, "/STACK:336777216")
 
using namespace std;
 
int main(void)
{
    string s;
 
    s = "123456789";
    cout << "변환 전 문자열 = " << s << '\n';
    printf("변환 후 int 숫자 = %d\n\n\n", stoi(s));
 
    s = "-23934";
    cout << "변환 전 문자열 = " << s << '\n';
    printf("변환 후 int 숫자 = %d\n\n\n", stoi(s));
 
    // 앞 0은 제거된다. 즉, 자연수 1이 됨.
    s = "00000001";
    cout << "변환 전 문자열 = " << s << '\n';
    printf("변환 후 int 숫자 = %d\n\n\n", stoi(s));
 
    // 앞 0은 제거된다.
    s = "0002324";
    cout << "변환 전 문자열 = " << s << '\n';
    printf("변환 후 int 숫자 = %d\n\n\n", stoi(s));
 
    return 0;
}
cs













728x90
반응형

'C++ STL' 카테고리의 다른 글

lower_bound(), upper_bound()  (0) 2019.05.05
vector<vector<int> > v; 정렬 전, 정렬 후  (0) 2019.05.04
#include <map>  (0) 2019.03.22
#include <tuple>  (0) 2019.03.18
2차원 배열 fill로 초기화.(feat memset)  (2) 2019.01.10