C의 쉼표로 구분된 문자열에서 숫자 데이터 추출
쉼표로 구분된 문자열의 데이터를 숫자 배열로 구문 분석하는 것은 프로그래밍에서 일반적인 과제를 제시합니다. . 정수의 특정 경우에 대해 C는 몇 가지 간단한 접근 방식을 제공합니다.
기본 구문 분석 알고리즘:
한 가지 간단한 방법은 문자열을 문자별로 반복하는 것입니다. 각 문자에 대해 다음 문자가 쉼표인지 확인하세요. 그렇다면 쉼표를 버리십시오. 그렇지 않으면 문자를 정수로 변환하여 배열에 저장합니다.
istringstream 사용:
C 표준 라이브러리는 입력 스트림 구문 분석을 위해 istringstream 클래스를 제공합니다. 쉼표로 구분된 문자열에서 숫자를 추출하려면 해당 문자열을 입력으로 사용하여 istringstream 개체를 만듭니다. 그런 다음 스트림 추출 연산자 >>를 사용하십시오. 한 번에 하나씩 각 숫자를 추출합니다.
구현:
다음 코드 조각은 istringstream을 사용하는 기본 구문 분석 알고리즘을 보여줍니다.
#include <vector> #include <string> #include <sstream> #include <iostream> int main() { std::string str = "1,2,3,4,5,6"; std::vector<int> vect; std::stringstream ss(str); for (int i; ss >> i;) { vect.push_back(i); if (ss.peek() == ',') ss.ignore(); } for (std::size_t i = 0; i < vect.size(); i++) std::cout << vect[i] << std::endl; return 0; }
기타 옵션:
보다 복잡한 구문 분석 시나리오의 경우 C 표준 라이브러리는 strtok 함수 및 정규식과 같은 추가 옵션을 제공합니다. 그러나 간단한 쉼표로 구분된 정수 목록의 경우 위의 방법은 일반적으로 구현하기에 충분하고 간단합니다.
위 내용은 C의 쉼표로 구분된 문자열에서 정수를 효율적으로 추출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!