strtok을 이용한 문자열 짜르기(tokenizing)
#include
#include
int
main(void) {
char str[] = "now # is the time # to start preparing ### for
the exam#";
// 테스트를
위해 만든 문자열
// 구분자가 2개
나와서 구분자사이의 0의 길이를 가진다면
// 구분자가
연속해서 나올경우 그것을 통째로 인식하여 한개로 인식한다
char delim[] = "#";
// #로
구분자로 이용함
char* token;
token = strtok(str, delim);
// 첫번째
호출
while (token != NULL) {
printf("next token is: %s:%d\n", token, strlen(token));
// 첫번째
토큰을 출력하고 뒤에 : 를 하고
// 스트린랭스를
출력한다
token = strtok(NULL, delim);
// 이어진
호출들
}
return 0;
}
*how
strtok works?
strtok은 원본 문자열을 변화시킨다 ('\0'를 삽입한다.)
- 따라서 만약 원본 문자열이 보존되어야 한다면 복사한 후 strtok을 해야한다.
strtok은 새로운 배열을 생성하지 않는다.
- strdup와는 다르다.
댓글 없음:
댓글 쓰기