스트링 공백으로 split 하기
조회수 16563회
1 답변
-
다음과 같은 방법은 어떨까요?
#include <iostream> #include <sstream> #include <string> using namespace std; int main() { string s("string to split"); istringstream iss(s); do { string sub; iss >> sub; cout << "Substring: " << sub << endl; } while (iss); }
다른 방법으로는 스탠다드 라이브러리를 이용하는 방법이 있지요
아마 이게 좀 더 보기 좋은 코드 같네요.
#include <iostream> #include <string> #include <sstream> #include <algorithm> #include <iterator> #include <vector> int main() { using namespace std; string sentence = "string to split"; istringstream iss(sentence); //단어를 출력하려면 copy(istream_iterator<string>(iss), istream_iterator<string>(), ostream_iterator<string>(cout, "\n")); //단어를 container에 저장하려면 vector<string> words; copy(istream_iterator<string>(iss), istream_iterator<string>(), back_inserter(words)); //벡터를 바로 생성하려면 vector<string> wordsVector{istream_iterator<string>{iss}, istream_iterator<string>{}}; }
댓글 입력