몇 단어로 된 문장을 포함하는 문자열 s가 있다고 가정합니다. 각 단어를 새 줄로 인쇄해야 합니다. 이를 위해 string.h 헤더 파일 아래에 strtok() 함수를 사용할 수 있습니다. 이 함수는 문자열과 구분 기호를 사용합니다. 여기서 구분자는 공백 " "입니다.
따라서 입력이 s ="Let us see some string tokenizing fun"과 같으면 출력은
Let us see some string tokenizing fun
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
토큰 :=strtok(s, " ")를 사용한 첫 번째 단어 여기서 구분 기호는 " "
-
토큰이 0이 아닌 동안 다음을 수행하십시오.
-
토큰 표시
-
token :=s의 다음 토큰, 이제 동일한 구분 기호 공백 " "을 사용하여 strtok의 첫 번째 인수로 NULL을 전달합니다.
-
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <stdio.h> #include <string.h> int main(){ char s[] = "Let us see some string tokenizing fun"; char* token = strtok(s, " "); while (token) { printf("%s\n", token); token = strtok(NULL, " "); } }
입력
Let us see some string tokenizing fun
출력
Let us see some string tokenizing fun