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

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

Patricia Arquette
풀어 주다: 2024-11-27 17:36:14
원래의
252명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿