C로 작업할 때 문자열을 토큰화하여 문자열을 더 작은 하위 문자열이나 토큰으로 분할하는 것이 바람직한 경우가 많습니다. 구분 기호. C 함수 strtok()는 문자열을 토큰화하는 데 널리 사용되는 옵션이지만 char* 입력이 필요한 반면 std::string은 C에서 선호되는 문자열 유형입니다. 이 기사에서는 std::string에서 strtok()를 사용하는 해결 방법을 살펴봅니다.
한 가지 접근 방식은 istringstream 개체를 사용하여 std::string을 다음으로 변환하는 것입니다. strtok()에 의해 토큰화될 수 있는 문자 스트림입니다. 예:
#include <iostream> #include <string> #include <sstream> int main() { std::string myText("some-text-to-tokenize"); std::istringstream iss(myText); std::string token; while (std::getline(iss, token, '-')) { std::cout << token << std::endl; } return 0; }
이 예에서 istringstream iss는 std::string myText에서 구성됩니다. 그런 다음 std::getline 함수는 구분 문자 '-'를 구분 기호로 사용하여 스트림에서 토큰을 추출하는 데 사용됩니다. 각 토큰은 std::cout을 사용하여 콘솔에 인쇄됩니다.
응답에 언급된 또 다른 옵션은 보다 유연한 토큰화 기능을 제공하는 Boost 라이브러리를 사용하는 것입니다. 하지만 이 솔루션을 사용하려면 시스템에 Boost 라이브러리를 설치해야 합니다.
위 내용은 C에서 strtok()을 사용하여 std::string을 토큰화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!