45.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을 넣어주면 됩니다.