Programming/C++

Split 함수 만들기 #1 - char delimiter

moxie2ks 2025. 1. 25. 18:01
728x90
반응형

개요

C++ 에는 delimiter를 이용한 split 함수가 없다. 필요한 경우, split 함수를 직접 만들어 활용해야 한다.

사용 방법

  • input string과 delemiter를 입력받는다.
  • input string을 sstream 헤더를 사용한 stringstream 변수로 복제한다.
  • getline함수를 사용하여 stringstream변수를 delimiter를 단위로 반복하여 파싱 한다.
  • 결과를 벡터에 저장한다.

핵심 코드

vector<string> split(string input, char delimiter) {
    vector<string> result;
    stringstream ss(input);
    string tmp;

    while (getline(ss, tmp, delimiter)) result.push_back(tmp);

    return result;
}

예제 코드

#include <sstream>
#include <iostream>
#include <vector>
using namespace std;

vector<string> split(string input, char delimiter) {
    vector<string> result;
    stringstream ss(input);
    string tmp;

    while (getline(ss, tmp, delimiter)) result.push_back(tmp);

    return result;
}

int main(){
    string str = "Hello beautiful world in the universe ! ! ";
    vector <string> result = split(str, ' ');
    for(auto r : result) cout << r <<endl;
}

결과

참고 문헌

728x90
반응형