[C++] C++ 문자열 쪼개기(sstream)

최대 1 분 소요

sstream을 이용한 문자 쪼개기

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

int main(){
	string input1="a:b:c:d:e";
	string input2="f g h i j";
	
	stringstream ss1(input1);
	stringstream ss2(input2);
	
	vector<string> ret1, ret2;
	string tmp;
	
	while(getline(ss1, tmp, ':')){
		ret1.push_back(tmp);
	}
	
	while(getline(ss2, tmp, ' ')){
		ret2.push_back(tmp);
	}
	
	for(int i=0;i<ret1.size();i++){
		cout<<ret1[i]<<' ';
	}
	cout<<'\n';
	
	for(int i=0;i<ret2.size();i++){
		cout<<ret2[i]<<' ';
	}
	cout<<'\n';
}

a b c d e
f g h i j

c++에서는 파이썬이나 자바와 같이 특정 문자를 기준으로 split하는 메소드가 없다.

따라서 위 코드와 같이 문자열을 분리할 수 있다.