40.6 연습문제: 문자열 자르기
다음 소스 코드를 완성하여 "Alice's", "Adventures", "in", "Wonderland"가 각 줄마다 출력되게 만드세요.
practice_string_tokensize_array.c
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { char s1[40] = "Alice's Adventures in Wonderland"; ①__________________________________ ②__________________________________ { printf("%s\n", tok); ③__________________________________ } return 0; }
실행 결과
Alice's Adventures in Wonderland
정답
① char *tok = strtok(s1, " "); ② while (tok != NULL) ③ tok = strtok(NULL, " ");
해설
먼저 strtok 함수를 사용하여 공백 문자(" ")를 기준으로 문자열을 자릅니다. 그리고 while 반복문으로 자른 문자열이 나오지 않을 때까지 반복합니다. while 문자열 안에서는 strtok 함수에 문자열 대신 NULL을 넣어주면 됩니다.