Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 문자열 토큰화

<시간/>

이 섹션에서는 C++에서 문자열을 토큰화하는 방법을 살펴봅니다. C에서는 문자 배열에 strtok() 함수를 사용할 수 있습니다. 여기에 문자열 클래스가 있습니다. 이제 해당 문자열에서 일부 구분 기호를 사용하여 문자열을 자르는 방법을 살펴보겠습니다.

C++ 기능을 사용하려면 문자열을 문자열 스트림으로 변환해야 합니다. 그런 다음 getline() 함수를 사용하여 작업을 수행할 수 있습니다. getline() 함수는 문자열 스트림, 출력을 보낼 다른 문자열, 스트림 스캔을 중지하는 구분 기호를 사용합니다.

함수가 어떻게 작동하는지 이해하기 위해 다음 예를 살펴보겠습니다.

예시 코드

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

int main() {
   string my_string = "Hello,World,India,Earth,London";
   stringstream ss(my_string); //convert my_string into string stream

   vector<string> tokens;
   string temp_str;

   while(getline(ss, temp_str, ',')){ //use comma as delim for cutting string
      tokens.push_back(temp_str);
   }
   for(int i = 0; i < tokens.size(); i++) {
      cout << tokens[i] << endl;
   }
}

출력

Hello
World
India
Earth
London