lierre

c++ strtok 예제

C 라이브러리 함수 char *strtok (char *str, const char *delim)는 구분 기호 delim을...

02 Août

C 라이브러리 함수 char *strtok (char *str, const char *delim)는 구분 기호 delim을 사용하여 문자열 str을 일련의 토큰으로 나누립니다. 다음은 strtok_r() : 참조: 1) 수동 페이지 strtok_r() 2) http://stackoverflow.com/questions/15961253/c-correct-usage-of-strtok-r C는 문자열을 일부로 분할하기 위한 strtok() 및 strtok_r()의 두 가지 함수를 제공하는 간단한 C++ 프로그램입니다. 구분 기호. 문자열을 분할하는 것은 매우 일반적인 작업입니다. 예를 들어 파일에서 항목의 쉼표로 구분된 목록이 있으며 배열의 개별 항목을 원합니다. 대부분의 다른 토큰화자와 달리 strtok의 구분 기호는 이후토큰마다 다를 수 있으며 이전 토큰의 내용에 따라 달라질 수도 있습니다. 실제 응용 프로그램 스트톡은 일부 구분 기호를 기반으로 여러 문자열로 문자열을 분할하는 데 사용할 수 있습니다. 이 함수를 사용하여 간단한 CSV 파일 지원을 구현할 수 있습니다. CSV 파일에는 계각량으로 쉼표가 있습니다. strtok_r() C의 strtok() 함수와 마찬가지로 strtok_r(strtok_r()은 문자열을 토큰 시퀀스로 구문 분석하는 것과 동일한 작업을 수행합니다.

strtok_r()는 strtok() 이 함수가 파괴적입니다: 문자열 str의 요소에 «  문자를 씁니다. 특히 문자열 리터럴은 strtok의 첫 번째 인수로 사용할 수 없습니다. . 이 함수에 대한 각 호출은 정적 변수를 수정합니다. str – 이 문자열의 내용은 수정되고 작은 문자열 (토큰)로 나뉩니다. delim – 이것은 구분 기호를 포함하는 C 문자열입니다. 이러한 호출은 호출마다 다를 수 있습니다. 토큰이 더 이상 없는 경우 다음 토큰 또는 NULL의 시작 부분에 대한 포인터입니다. 이 함수는 동일한 문자열에서 연속된 토큰을 얻기 위해 여러 번 호출되도록 설계되었습니다.

이 함수는 문자열에 있는 첫 번째 토큰에 대한 포인터를 반환합니다. 검색할 토큰이 남아 있지 않으면 null 포인터가 반환됩니다.