C++ 문자열 자르기 구분자 지정 strtok 사용 방법

C++에서 문자열을 자르는 경우 구분자를 지정해 자르는 방법에 대해 알아보겠습니다.

구분자를 지정해 문자열을 자르는 방법으로는 strtok 함수를 사용합니다.

strtok 작성 방법을 보겠습니다.

strtok(문자열, 구분자 문자)

 

strtok 함수에 첫 번째 파라미터에는 대상 문자열을 지정합니다.

두 번째 파라미터에는 구분자 문자를 지정합니다.

 

샘플 소스를 확인해보겠습니다.

#include <stdio.h>
#include <cstring>

int main() {
    char str[] = "Hello World Ponoy Zzang"; 
    char *temp = strtok(str," ");
    
    printf("%s\n",temp);

    return 0;
}

 

결과

Hello

 

변수 str에는 Hello World Ponoy Zzang 라는 문자열을 저장했습니다.

str 변수에 저장된 문자열을 공백 문자를 기준으로 잘라내기를 합니다.

결과에서는 첫 번째 공백 문자가 발생한 앞에 문자열인 Hello가 출력되었습니다.

만약 모든 문자를 출력하고 싶은 경우에는 반복문을 사용해 전부 출력할 수 있습니다.

#include <stdio.h>
#include <cstring>

int main() {
    char str[] = "Hello World Ponoy Zzang"; 
    char *temp = strtok(str," ");
    
    while (temp != NULL) { 
        printf("%s\n",temp); 
        temp = strtok(NULL, " ");
    }

    return 0;
}

 

결과

Hello
World
Ponoy
Zzang

 

결과를 보면 공백 문자열을 구분으로 모든 문자열을 잘라 출력하고 있습니다.

댓글