본문으로 바로가기

[C++] String 정리

category Algorithm/C++ STL 2018. 8. 16. 13:55


String

# include <string>


선언

string str = " ";

char str[ ] = " ";


메소드

문자열 길이

string str = "abcde";

str.size();                        // 5

str.length();                    // 5

# strlen(str) 이 아닌 size() , length() 사용가능!!


str.empty()                    // 빈문자열이면 1 , 아니면 0


문자열 비교

string s1 = "string";

string s2 = "string";

s1 == s2                            // 같으면 1 , 아니면 0

s1 < s2                              // s2가 더크면 1 , 아니면 0

# strcmp(s1, s2) 를 대신해서 사용!!


문자열 삽입

string a = "Hello";

a.push_back('!');            // string이 아닌 char push_back


string a = "He";

a.append(2, 'l');                            // Hell

a.append("o").append(1, '!');         // Hello!


string s = "e";

s.insert(0,"H");                            // He

s.insert(2,"o");                             // Heo

s.insert(2,2,'l').append("!");          // Hello!


형변환

string str = "21 Guns";

number = stoi(str);                        // 21

# 정수의 범위를 넘어서거나, string안에 정수가 포함되어있지 않으면 Error


 int

 stoi

 unsigned long

 stoul

 unsigned long long

 stoull

 float

 stof

 double

 stod

 long double

 stold


int num = 1;

string str = to_string(num);

# 정수나 다른형을 string으로 변환시킬때는, to_string() 사용!!


sstream

istringstream

char의 경우에는 strtok을 사용할 수 있으나,

string을 사용하는 경우, const char*를 반환하므로 복사가 필요하다


#Tokenizing

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <sstream>
 
using namespace std;
 
int main(int argc, const char * argv[]) {
    string inputStr;
    getline(cin, inputStr, '\n');
    
    istringstream iss(inputStr);
    string token;
    
    while(getline(iss, token, ' ')){
        cout << token << endl;
    }
}
cs


ostringstream


http://word.tistory.com/24


# 관련 문제


📝1152번 문제 (단어의 개수)

📝10820번 문제 (문자열 분석)

📝10821번 문제 (정수의 개수)

📝2743번 문제 (단어 길이 재기)


📝10822번 문제 (더하기)

📝10823번 문제 (더하기2)

📝10824번 문제 (네 수)


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

[C++] 추가 정리  (0) 2018.08.20
[C++] Algorithm 정리  (0) 2018.08.16
[C++] STL 정리  (0) 2018.08.08