C++ split() 구현

C++ split() 구현.

안녕하세요.

오늘은 c++에서 split()을 지원하지 않기 때문에 split에 대해 찾아봤습니다.

  • split() 코드.
  • 실행 결과.

Split() 코드.

코드는 아래와 같습니다.

1. code.

#include <bits/stdc++.h>
using namespace std;
vector<string> split(string input,string delim){
	vector<string> result;
	long long pos;  
	while((pos=input.find(delim))!=string::npos){
		result.push_back(input.substr(0,pos));
		input.erase(0,pos+delim.length());
	}
	result.push_back(input);
	return result;
}
int main() {
	string a="hi my name is tom";
	string delim="name";
	vector<string> tmp;
	tmp=split(a,delim);
	for(auto v:tmp){
		cout<<v<<"\n";
	}
	return 0;
}

2. stringstream을 사용한 Code.

#include <bits/stdc++.h>
using namespace std;
vector<string> split(string input,char delim){
	vector<string> result;
	stringstream ss(input);
	string tmp;
	while(getline(ss,tmp,delim)){
		result.push_back(tmp);
	}
	return result;
}
int main() {
	string a="hi my name is tom";
	char delim=' ';
	vector<string> tmp;
	tmp=split(a,delim);
	for(auto v:tmp){
		cout<<v<<"\n";
	}
	return 0;
}

실행

1. code delim을 문자로 설정했을때 실행결과.

delim을 공백으로 설정했을때.

2. delim 공백.

주요 코드 설명

문자열을 나눠주는 함수로 이것 말고도 방법은 더 있습니다.

Designed by JB FACTORY