strtok 함수

char * strtok ( char * str, const char * delimeters); 대상 문자열에서 delimeters를 기준으로 분할하는 함수

입력 매개 변수 리스트

str 대상 문자열, 처음은 대상 문자열을 전달하고 이후에는 NULL을 전달

delimeters 분할 기준 문자들이 있는 문자열

반환 값

처음 delimeters의 문자가 있는 위치를 반환, 없을 때 NULL 반환

 

strtok 함수는 delimeters 내에 포함하고 있는 문자가 처음 위치한 곳을 탐색하여 반환하는 함수입니다. 그런데 이 함수는 처음 호출할 때는 첫번째 인자로 대상 문자열을 전달하지만 그 이후에는 NULL을 대입합니다. 만약 호출 중간에 원본 문자열의 내용을 바꾸면 정상적인 동작을 하지 않습니다. 특히 스레드를 이용한 프로그래밍에서는 원하지 않는 결과를 초래할 수 있습니다. C11 에서는 이러한 문제를 개선한 strtok_s를 제공합니다.

사용 예

출력