>백엔드 개발 >C++ >C에서 쉼표로 구분된 문자열을 효율적으로 구분하려면 어떻게 해야 합니까?

C에서 쉼표로 구분된 문자열을 효율적으로 구분하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-27 17:36:14358검색

How Can I Efficiently Separate Comma-Delimited Strings in C  ?

Stringstream을 사용하여 쉼표로 구분된 문자열 분리

제공된 문제에서 작업은 쉼표로 구분된 문자열을 개별 토큰으로 분리하는 것입니다. stringstream::operator는 단어를 공백으로 쉽게 구분할 수 있지만 쉼표의 경우에는 부족합니다.

이 문제를 극복하기 위해 수정된 접근 방식을 사용합니다.

#include <iostream>
#include <sstream>

int main() {
  std::string input = "abc,def,ghi";
  std::istringstream ss(input);
  std::string token;

  // Use getline to separate by commas
  while (std::getline(ss, token, ',')) {
    std::cout << token << '\n';
  }

  return 0;
}

여기서 수정된 코드:

  • std::stringstream::operator>> 대신 std::getline을 사용합니다. getline은 지정된 구분 기호(이 경우 쉼표)까지 하위 문자열을 추출할 수 있습니다.
  • 더 이상 토큰이 발견되지 않을 때까지 입력 스트림을 반복합니다.
  • 각 토큰에 대해 인쇄합니다. 새 줄에.
  • 출력은 입력 문자열을 개별 항목으로 정확하게 분리합니다. 토큰:

    abc
    def
    ghi

    위 내용은 C에서 쉼표로 구분된 문자열을 효율적으로 구분하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.