본문 바로가기

Language/C++

[C++] 문자열 split 함수 구현하기

728x90
반응형

C++에는 string을 나누는 split 함수가 존재하지 않기 때문에 직접 구현해서 사용해야 한다.

split 함수를 구현하는 많은 방법이 있지만, 그 중 sstream을 사용하는 방법은 다음과 같다.

 

#include <iostream>
#include <vector>
#include <sstream>

using namespace std;

vector<string> split(string str, char delimiter);

int main(){
    string test = "min seon kim";
    vector<string> result = split(test, ' ');
    for (int i=0;i<result.size();i++){
        cout << result[i] << " ";
    }
}

vector<string> split(string input, char delimiter) {
    vector<string> answer;
    stringstream ss(input);
    string temp;
 
    while (getline(ss, temp, delimiter)) {
        answer.push_back(temp);
    }
 
    return answer;
}
728x90
반응형