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
결과를 보면 공백 문자열을 구분으로 모든 문자열을 잘라 출력하고 있습니다.
댓글