반응형
strtok는 문자열을 자르는 함수이다.
문자열 자르기는 포인터를 이용하는 방식이다.
strtok : 문자열을 조각(token)으로 나누다. / (string tokenize)에서 따왔다.
strtok는 string.h 헤더 파일에 포함되어 있음
strtok는 보안경고가 발생하니 SDL 검사를 꺼줘야 한다.
char *ptr = strtok(s1, " "); 부분에서 " "(공백)을 기준으로 잘라준다.
strtok는 잘린 문자를 한번에 얻을 수 없으므로 while 반복문을 사용하여
NULL 문자열이 나올 때 까지 반복해준다.
char s1[30]
1. The 와 Little 사이에 " "를 NULL 문자로 채워준다.
2. 처음 호출 되는 strtok는 첫 부분 The를 자름 / The의 포인터를 반환
3. while 반복문 안에서 strtok에 NULL을 넣어 잘린 문자열 만큼 다음 문자로 이동해준다.
4 Little 과 Prince 사이에 " "를 NULL 문자를 채워준다.
5. Little 의 포인터를 반환한다.
6. strtok에 NULL을 넣어 잘린 문자열 만큼 다음 문자로 이동한다.
7. Prince 뒤에는 이미 NULL 문자가 있으므로 바꾸지 않는다.
8. Prince 의 포인터를 반환한다.
9. strtok에 NULL을 넣어 잘린 문자열 만큼 다음 문자로 이동한다.
10. 직전 strtok에서 공백 문자를 만나지 못했으므로 NULL을 반환하고 while 반복문을 끝낸다.
반응형
'<Programming> > <C>' 카테고리의 다른 글
[C언어] 진법으로 표기된 문자열을 정수로 변환 (strtol 함수) (0) | 2020.07.17 |
---|---|
[C언어] 문자열을 정수로 변환하기 (atoi 함수) (0) | 2020.07.17 |
[C언어] void가 아닌 함수에서의 반환 값 (0) | 2020.07.10 |
[C언어] 문자열 (strlen) (0) | 2020.07.10 |
[C언어] 버블정렬 (0) | 2020.07.07 |