C \ C++/C 개념 정리
strtok() 함수 개념
안정민
2023. 3. 21. 12:56
string.h 헤더 파일에 선언되어있음
char* strtok(char* str, char* delimiters); 매개변수 차례대로 토큰화 대상문자열, 토큰화 기준이 될 구분 문자열 |
strtok 이라는 함수의 이름을 분석해보면 str + tok 인데요.
string을 tokenize한다. 라고 표현할 수 있습니다. 문자열(string)을 토큰(token)처럼 조각조각 내는 함수 입니다.
char* 타입의 문자열 str을 첫번째 매개변수로 받아서, 두번째 매개변수로 들어온 char* 타입의 구분자를 기준으로
문자열을 이쁘게 잘라서 문자열의 포인터를 하나씩 하나씩 반환하는 함수 입니다.
반환값은 포인터를 반환하는데 자른 문자열을 가리키는 char* 입니다.
예제
char str[] = "Block D Mask."; //구분할 문자열
char *ptr = strtok(str, " "); //첫번째 strtok 사용.
while (ptr != NULL) //ptr이 NULL일때까지 (= strtok 함수가 NULL을 반환할때까지)
{
printf("%s\n", ptr); //자른 문자 출력
ptr = strtok(NULL, " "); //자른 문자 다음부터 구분자 또 찾기
}